Formulaire PHP
zoubsy
-
Estyaah Messages postés 255 Date d'inscription Statut Membre Dernière intervention -
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 :
Merci d'avance !
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 !
A voir également:
- Formulaire PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
29 réponses
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');
?>
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');
?>
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 ?
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" />.
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" />.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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.
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. :)
Merci pour tout en tout cas. :)
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...
"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.
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.
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 !
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 !
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
<?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