Formulaire PHP

zoubsy -  
Estyaah Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je débute (vraiment) en php, et voilà ce que j'aimerais faire : un formulaire dans lequel le visiteur pourrait m'envoyer du texte par email. Je ne connais presque rien en php, mais j'ai déjà mon code xhtml. Voici mon code html :

<form method="post" action="envoi.php">
 
   <fieldset>
       <legend><strong>Coordonnées</strong></legend> >
 
       <label for="nom">Quel est votre nom ?</label><br />
       <input type="text" name="nom" id="nom" /><br />
 
       <label for="email">Quel est votre e-mail ?</label><br />
       <input type="text" name="email" id="email" /><br />
   </fieldset>
 
   <fieldset>
       <p>
           <label for="avis">Quel est votre avis à propos du site ?</label><br />
           <textarea name="precisions" id="precisions" cols="40" rows="4" tabindex="80"></textarea>
       </p>
   </fieldset>

   <p>
       <input type="submit" /> <input type="reset" />
   </p>


Merci d'avance !

29 réponses

Nico_ Messages postés 1219 Date d'inscription   Statut Membre Dernière intervention   189
 
bonsoir,
générateur de formulaire PHP
Bonne soirée
0
je suis en galère
 
Voici le code php:
nom de la page: envoi.php

<?php

$to=$_POST[email];
$subject='message envoyé';
$message=$_POST[precisions];
$headers="MIME-Version:1.0\r\n";
$headers="Content-type:text/html;charset=iso-8859-1\r\n";

mail($to,$subject,$message,$headers);

echo"
<script language='javascript'>

alert('Votre message nous a été envoyé merci.');

</script>
";

header('location:retourAuFormulaire.html');
?>
0
zoubsy
 
Merci pour les réponses, mais je vois pas où se situe mon adresse dans ton code, je suis en galère (sympa le pseudo, d'ailleurs...), c'est-à-dire où est envoyé le message ?
0
je suis en galère
 
est-ce que t'as les bases en php?
0
Estyaah Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   34
 
Salut !

Dans le message posté, ton adresse mail est contenue dans la variable : $_POST[email], qui aura été remplie dans ton formulaire par ton champ <input type="text" name="email" id="email" />.
0
je suis en galère
 
non, ce n'est pas son adresse e-mail qui est dans $_POST[email], mais c'est celui de l'expéditeur, càd celui qui a rempli le formulaire
0
Estyaah Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   34 > je suis en galère
 
t'as raison, je n'avais pas lu à quoi correspondait le champ. Cependant, le $to correspond bien à l'adresse destinataire. Pour plus d'info : https://www.php.net/manual/fr/function.mail.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je suis en galère
 
car avec php, on ne peut pas mettre l'adresse e-mail du destinaire dans le script, met on doit le mettre dans le fichier php.ini.
0
Estyaah Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   34
 
Non, ce n'est pas vrai, tu peux inscrire le nom du destinataire dans le script. Tu peux aussi mettre le nom de l'envoyeur dans le script.
0
zoubsy
 
Je ne pense pas, vu que j'ai l'air d'avoir dit une énorme bêtise :)
0
zoubsy
 
Je fais comment alors ? En tout cas merci de vos réponses rapides !
0
Estyaah Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   34
 
relis tout, et tu auras la solution ;-)
0
je suis en galère
 
En fait mon code est éronné car je me suis trompé à $to (grace à la remarque à Estyaah),
en effet à $to tu dois mettre l'adresse e-mail du destinataire, càd le tiens.

Par contre tu dois mettre dans $message l'adresse e-mail de l'expéditeur (pour savoir au moins qui t'as envoyé le message), donc le code est le suivant:


<?php

$to=tonAdresse@email;
$subject='message envoyé';
$message="Message envoyé par $_POST[email]<br>Voici son message:$_POST[precisions]";
$headers="MIME-Version:1.0\r\n";
$headers="Content-type:text/html;charset=iso-8859-1\r\n";

mail($to,$subject,$message,$headers);

echo"
<script language='javascript'>

alert('Votre message nous a été envoyé merci.');

</script>
";

header('location:retourAuFormulaire.html');
?>

Excuse moi pour mon erreur et merci pour ta remarque Estyaah.
0
zoubsy
 
J'ai beau cherché, je trouve pas. Je suppose qu'il faut mettre un "$to=monadresse@xxxxxxxxx;" quelque part, mais je ne vois pas trop comment. De plus, je ne comprend pas l'avant dernière ligne "header('location:retourAuformulaire.html');".
Merci pour tout en tout cas. :)
0
je suis en galère
 
Si tu ne connais pas php, moi j'ai appris php avec le livre PHP et mysql pour les nuls car j'étais en galère, et franchement ça m'a servi, donc si tu veux y jeté un coup d'oeil...
0
je suis en galère
 
"header('location:retourAuformulaire.html');"

C'est juste une redirection automatique (version php) vers la page de ton formulaire (j'ai mais 'retourAuFormulaire.html' car je ne sais pas comment s'appelle le nom de la page de ton formulaire), c'est l'équivalent de window.location en version javascript.
0
zoubsy
 
Merci du conseil et du script !
Cependant 2 erreurs persistent lorsque je teste mon formulaire :
-Parse error: syntax error, unexpected '@' in /home/jonathan/www/Site/envoi.php on line 3
---->J'ai essayé de mettre des guillemets autour, et je me retrouve avec cette 2nd erreur :
-Warning: Cannot modify header information - headers already sent by (output started at /home/jonathan/www/Site/envoi.php:17) in /home/jonathan/www/Site/envoi.php on line 19

Et je ne recois le mail dans aucun des cas....
Mais merci de m'aider, je dois vraiment etre lourd !
0
je suis en galère
 
essaye ça alors il faut mettre les guillemets autour de ton adresseEmail:


<?php

$to="tonAdresse@email";
$subject='message envoyé';
$message="Message envoyé par $_POST[email]<br>Voici son message:$_POST[precisions]";
$headers="MIME-Version:1.0\r\n";
$headers="Content-type:text/html;charset=iso-8859-1\r\n";

mail($to,$subject,$message,$headers);

echo"
<script language='javascript'>

alert('Votre message nous a été envoyé merci.');
window.location='retourPageFormulaire.html';
</script>
";

?>

Et est-ce que tu as configuré la section [mail] de php.ini ? car c'est grace à cette configuration que tu peux recevoir les messages de ton formulire
0
je suis en galère
 
alors ça marche ?
0
zoubsy
 
Ah non, j'ai pas fait ca.... Comment on fait ? (pardonnez mon ignorance :) )
0
je suis en galère
 
tu utilise quoi comme logiciel pour utiliser php?
0
zoubsy
 
Lampp sous linux
0
je suis en galère
 
j'ai que 10 minutes pour t'aider car je ne suis pas chez moi
0
je suis en galère
 
ok, cherche le fichier php.ini qui se trouve dans un des sous dossier de php dans c:/
0
zoubsy
 
Oui, je l'ai (mais dans ~/opt/lamp/etc/php.ini car sous linux)
0