Aller au contenu

Creation d un formulaire


Sujets conseillés

Guest esmax666
Posté

Alors voila j ai creer un formulaire sur mon site http://zonegratuit.free.fr

mais lorsque la personne envoi le formulaire je recoi un mail blanc ss les champ du forulaire renseigner... d'ou viens le probleme ? es ce quelqu un aurai un scrpit pour creer un forumulaire un peu plus efficasse que le mien ?

y a t'il un moyen que le formulaire sois envoyer sans kil y a ai marqué," ce formulaire va etre envoyer par mail discret..."

voila merci !

Guest esmax666
Posté

merci pour la reponse, je suis allé voir le site mais je ne comprend pas trop :-s moi j voulais juste un scrpit pour créer une newletter et pas pour faire verifier mon fomulaire.

Posté

Salut, j'ai un site hébergé sur free, avec un formulaire de contact. Voici le code HTML que j'utilise, ainsi que le code PHP. J'utilise la fonction mail() de PHP, qui est limité quant au nombre d'envoi. Si tu prévois d'envoyer plein de mails depuis ton site, cela ne suffira pas :(. Voici donc d'abord le formulaire en HTML :

<html>
<head>
 <style type="text/css">
 body {font-size:12px;font-family:sans-serif}
 form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
 #userInput textarea,
 #userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
 #userInput textarea {overflow:auto}
 #formFooter {margin-left:100px}
 #formFooter input {margin:5px 2px;}
 </style>
</head>
<body>
 <form action="sendEmail.php" method="post">
 <p id="userInput">
   <label for="name">Vous êtes : </label>
   <input type="text" name="name" id="name"/>
   <br />
   <label for="email">Votre email : </label>
   <input type="text" name="email" id="email"/>
   <br />
   <label for="subject">Sujet : </label>
   <input type="text" id="subject" name="subject"/>
   <br />
   <label for="body">Message : </label>
   <textarea name="body" id="body" rows="10" cols="40"></textarea>
 </p>
 <p id="formFooter">
   <input type="submit" value="Envoyer" />
 </p>
 </form>
</body>
</html>

et le fichier sendEmail.php

<?php

/* Je vérifie le script côté serveur uniquement,
* seul le champ message (body) doit être rempli */
if(isset($_POST["email"]))
{
/* La fonction qui envoie le mail :
 * mail(destinataire, sujet, message, autres informations))
 * ici l'entete est composée du champ FROM et x-Mailer, et est une chaine de caractère
 * L'email ainsi envoyé ne correspond pas tout à fait aux normes,
 * mais ça marche avec mon compte email, alors je ne suis pas allé plus loin;) */
if($_POST["body"]!="" && mail("destinataire_AT_exemple.com", $_POST["subject"], $_POST["body"], "From: ".$_POST["name"]." <".$_POST["email"].">\nX-Mailer: PHP/ . $phpversion()"))
{
 $response = "<p>Votre message a bien été envoyé</p>\n";
}
else if($_POST["body"] =="")
 $response = "<p>Vous devez au moins avoir un message !</p>\n";
else
 $response = "<p>Une erreur est survenue, veuillez envoyer un email à corentin chez elicoz point org pour me contacter.</p><p>An error occured, please send an email to corentin at elicoz dot org to contact me.</p>\n";
/* La réponse est intégrée dans le fichier contact-response.html, puis affichée */
echo preg_replace("/RESPONSE/", $response, join("",file("contact-response.html")));
exit;
}
?>

Je réponds un peu à côté de la question, mais tu cherches bien à envoyer un email ? D'autre part je ne vois pas trop ce que tu entends par

y a t'il un moyen que le formulaire sois envoyer sans kil y a ai marqué," ce formulaire va etre envoyer par mail discret..."

J'espère que ce post te sera utile :)

Guest esmax666
Posté

oui ca a l'air d etre ca ! :-)

je l ai mis sur mon site

http://zonegratuit.free.fr

mais je recoi l erreur

Warning: file(): Unable to access contact-response.html in /var/www/free.fr/a/2/zonegratuit/sendEmail.php on line 21

Warning: file(contact-response.html): failed to open stream: No such file or directory in /var/www/free.fr/a/2/zonegratuit/sendEmail.php on line 21

Warning: join(): Bad arguments. in /var/www/free.fr/a/2/zonegratuit/sendEmail.php on line 21

voila et pourtant j ai fé un copier collé de t code :-s

Posté

Salut

 echo preg_replace("/RESPONSE/", $response, join("",file("contact-response.html")));

met cette ligne en commentaire

Guest esmax666
Posté

si je comprend bien enfaite il voulais allé sur la page "contact-response.html" ? c est ca ce ki reviens a la page de html de reponse ?

car la je tombe sur une page blanche ...

Par contre je ne recois pas les informations du formulaire sur ma boite a mail .. comment es ce que je dois faire?

merci pour tt les rensignement, j suis pas habité au php :-/

Guest esmax666
Posté

c'est bon j ai resolu les probleme :-)

Guest esmax666
Posté

euh oups j ai qd meme encor un ptit souci...

Enfaite je recoi le mail mais juste avec les commentaire

il me manque les rengnement des autre champ

et j ai edité une page contact-response.html pour avoir une reponce apré l inscription mais cela ne marche pas :-s

Guest esmax666
Posté

bah j vois pas trop d ou viens le pb :-s

Posté

Quels autres champs ?

Tu as body qui est le contenu du mail, name qui est le nom de l'expediteur (qui si j'ai compris va s'afficher comme expediteur), email qui est l'email de l'expediteur et un sujet.

Si tu reçois un mail avec un sujet, un nom d'expediteur, une mail d'expediteur et un message, tout est bon ;)

Posté

Le code fourni est biensûr à adapter :) ! De plus je n'avais pas inclus le fichier contact-response.html, mais il faut en effet que tu le créés et en plus qu'il contienne "RESPONSE" à l'endroit où tu veux que la réponse soit affichée. Le fichier contact-response.html pourrait-être :

<html>
<head>
<title>Résultat de l'envoi</title>
</head>
<body>
RESPONSE
</body>
</html>

Et puis l'intégration du formulaire HTML sur ton site me fait dire que le CSS aurait pu être meilleur, notamment en ce qui concerne les largeurs définies en taille fixe :whistling: . Dans le champ label, essaye de remplacer width:100px par width:7em.

Enfin, si tu rajoutes des champs dans le formulaire, il faudra aussi que tu les traites dans sendEmail.php

Bonne continuation !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...