Création de formulaire-recevoir des données

Résolu/Fermé
steven - 31 août 2010 à 20:28
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 4 sept. 2010 à 21:00
Bonjour,



Je demande votre svp pour un problème avec php.
voila j'ai créé un formulaire tout simple pour mon site internet. le souci se trouve dans le code php pour recevoir les réponses des gens. Je vous envoie mes codes. Pouvez-vous me dire ou se trouve l'erreur ? Merci

je ne sais pas non plus exactement comment sauvergarder ces deux pages

html

<HTML>
<HEAD>
<TITLE>E-Mail Form</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="reponse.php">
<P>Your Name:<br>
<INPUT type="text" name="sender_name" size=30>
</p>
<P>Your E-Mail Address:<br>
<INPUT type="text" name="sender_email" size=30>
</p>
<P>Message:<br>
<textarea name="message" cols=30 rows=5></textarea>
</p><INPUT type="submit" value="Send This Form">
</FORM>
</BODY>
</HTML>

et php (qui pose problème) sauvegarder sous reponse.php

<?php

$msg = "Sender Name:\t$sender_name\n";
$msg .= "Sender E-Mail:\t$sender_email\n";
$msg .= "Message:\t$message\n\n";

$recipient = "stevendelcuve@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>
A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 août 2010 à 20:38
dans ta page reponse.php,au début, il faut "recupérer" les valeur postées car $sender_name ne suffit pas

il faut faire:

$sender_name=$_POST['sender_name];


pareil pour tous les champs
0
merci beaucoup pour votre réponse
j'ai essayé comme vous me l'avez dit mais ca ne marche tjs pas. Pouvez-vous me dire les étapes pour la sauvegarde ma page réponse.php c bien du html sauvegarder sous reponse en php ? je vous remercie.
pouvez-également me dire commetn je sais si mon ordi reçoit bien le php ?merci

voila mes codes

<?php

$sender_name=$_POST['sender_name];
$sender_email=$_POST['sender_email];
$sender_Message=$_POST['sender_Message];

$recipient = "steve@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 sept. 2010 à 11:04
Ce n'est pas ton ordi qui reçoit le php, je suppose que ton site internet est chez un hebergeur, le script reponse.php doit aussi être sur le serveur de cet hebergeur, dans le même dossier que ton formulaire

et le mail part aussi depuis ce serveur


tu peux mettre une trace pour voir si ça part

$envoi_mail=mail($recipient, $subject, $msg, $mailheaders);

if($envoi_mail){
     echo "<HTML><HEAD>";
     echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
     echo "<H1 align=center>Thank You, $sender_name</H1>";
     echo "<P align=center>";
     echo "Your feedback has been sent.</P>";
     echo "</BODY></HTML>"; 
}else{
   echo "Problème avec l'envoi du mail !";
}
0
merci beaucoup
donc mes codes sont bons ?
j'ai simplement commencé mon site avec note pad++
il ne reste plus que mon formulaire et j'ai terminé
je n'ai pas encore d'herbergeur
est-ce à cause de cela ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 sept. 2010 à 14:12
je n'ai pas encore d'herbergeur

si tu n'as pas d'hebergeur et que tu veuilles tester des script en .php il faut installer un "serveur" sur ton PC (serveur de développement)

soit wamp soit easyphp et poser tes scripts et tes pages dans le répertoire www de wamp

et tu doit appeler tes pages en tapant http://localhost/nom_de_ton_script dans la barre d'adresse de ton navigateur ,surtout pas en cliquant dans l'explorateur windows !
0
merci pour votre aide
j'ai fait comme vous me l'avez dit et j'obtient ce mode dans une nouvelle page qui s'ouvre

<?php

$msg = "Sender Name:\t$sender_name\n";
$msg .= "Sender E-Mail:\t$sender_email\n";
$msg .= "Message:\t$message\n\n";

$recipient = "stevendelcuve@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 sept. 2010 à 15:15
déja tu n'as pas remis ça au début de ta page reponse.php

$sender_name=$_POST['sender_name];
$sender_email=$_POST['sender_email];
$sender_Message=$_POST['sender_Message]; 


ensuite as tu bien démarré wamp ?
0
merci bien pour votre aide en tt cas.

oui j'ai bien démarré wamp, passer en ligne, couper colle de reponse.php dans www. et quand je clique sur localhost j'obtient:

Parse error: parse error, expecting '']'' in C:\wamp\www\reponse.php on line 3

Mon code reponse php est le suivant :

<?php
$sender_name=$_POST['sender_name];
$sender_email=$_POST['sender_email];
$sender_Message=$_POST['sender_Message];


$recipient = "stev@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>

et une fois que j'ai remplit le formulaire , je clique sur envoyer et j'obtient une nouvelle page avec :

<?php
$sender_name=$_POST['sender_name];
$sender_email=$_POST['sender_email];
$sender_Message=$_POST['sender_Message];


$recipient = "stev@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>
0

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

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 sept. 2010 à 18:05
Parse error: parse error, expecting '']'' in C:\wamp\www\reponse.php on line 3 veut dire que tu as une erreur de syntaxe ligne 3 alors regardes de plus près:

ces lignes

$sender_name=$_POST['sender_name];
$sender_email=$_POST['sender_email];
$sender_Message=$_POST['sender_Message];


il manque une ' à chaque ligne

par exemple:
$sender_name=$_POST['sender_name'];
0
bonjour, j'ai fait comme vous m'avez dit et dans wamp quand je clique sur reponse php j'obtient ceci:

Notice: Undefined index: sender_name in C:\wamp\www\reponse.php on line 2

Notice: Undefined index: sender_email in C:\wamp\www\reponse.php on line 3

Notice: Undefined index: sender_Message in C:\wamp\www\reponse.php on line 4

Notice: Undefined variable: msg in C:\wamp\www\reponse.php on line 13

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\reponse.php on line 13

Thank You,
Your feedback has been sent.


et sur envoi du formulaire j'obtient tjs ceci

<?php
$sender_name=$_POST['sender_name'];
$sender_email=$_POST['sender_email'];
$sender_Message=$_POST['sender_Message'];


$recipient = "stev@hotmail.com";
$subject = "Web Site Feedback";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You, $sender_name</H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>
grand merci

je dois faire couper ou copier coller réponse.php dans www/wamp?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 sept. 2010 à 21:00
dans wamp quand je clique sur reponse php

normal que ça ne fonctionne pas puisque reponse.php est fait pour répondre au formulaire

il faut que tu cliques sur localhost dans xwamp et ensuite sur le fichier de ton formulaire, le remplir et cliquer sur le bouton envoyer, ça appellera automatiquement reponse.php
0