Probleme avec un formulaire et easyphp

Probleme avec un formulaire et easyphp - PHP - Programmation

Marsh Posté le 10-08-2004 à 00:56:00    

Bonsoir tout le monde,
 
alors voila j'explique mon probleme
 
j'ai commencer a creer mon site en html mais j'ai voullu y rajouter un forum en phpbb , comme il est héberger chez moi , j'ai donc installer easyphp
 
juste la tt va bien , le forum fonctionne nikel , pour l'envoi de mail via le forum j'ai activer le serveur smtp du easyphp , ca donne , enfin la ca roule nikel
 
mon probleme >
 
je voudrais faire un formulaire avec envoie du formulaire sur mon mail
 
les code que j'utilise >
 le formulaire tt bete en html >
 

Code :
  1. <FORM method="POST" action="do_sendform.php">
  2. <P>Your Name:<br>
  3. <INPUT type="text" name="sender_name" size=30>
  4. </p>
  5. <P>Your E-Mail Address:<br>
  6. <INPUT type="text" name="sender_email" size=30>
  7. </p>
  8. <P>Message:<br>
  9. <textarea name="message" cols=30 rows=5></textarea>
  10. </p><INPUT type="submit" value="Send This Form">
  11. </FORM>


 
et le fichier do_sendform.php >
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t$_POST["sender_name"]\n";
  3. $msg .= "Sender E-Mail:\t$_POST["sender_email"]\n";
  4. $msg .= "Message:\t$_POST["message"]\n\n";
  5. $recipient = "richou0387@wanadoo.fr";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. $mailheaders .= "Reply-To: $_POST["sender_email"]\n\n";
  9. mail($_POST["recipient"], $_POST["subject"], $_POST["msg"], $_POST["mailheaders"]);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Thank You, $_POST["sender_name"]</H1>";
  13. echo "<P align=center>";
  14. echo "Your feedback has been sent.</P>";
  15. echo "</BODY></HTML>";
  16. ?>


 
moi je le trouve pas mal ce script , je le le trouve bon , je ne vois rien qui cloche ( suis encore un débutant ) mais pourtant , j'ai ces erreurs la >
 

Code :
  1. Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\do_sendform.php on line 3


 
alors voila , d'apres vous le probleme viens de mon serveur ? mal configurais ? du script ? aidez moi svp
 
 
merci pour votre aide ;)

Reply

Marsh Posté le 10-08-2004 à 00:56:00   

Reply

Marsh Posté le 10-08-2004 à 01:10:59    

Tu vois pas où est le prob ds un code tel que :
 

Code :
  1. $msg = "Sender Name:\t$_POST["sender_name"]\n";


 
 :heink:  
 
Indice ça commence par "gui" ça fini par \"llemet\"
 
 :pfff:

Reply

Marsh Posté le 10-08-2004 à 01:13:48    

Parfois (souvent même) il suffit de lire le message d'erreur, tout simplement...
 
Là, tu as un " qui pose problème, plus exactement celui de $_POST["..."] aux lignes : 3, 4, 5, 11 et 17 si je me suis pas trompé.
 
Remplace tes $_POST[] par {$_POST[]} ce devrait déjà aller mieux (tu pourras t'attaquer aux erreurs d'html après :D)

Reply

Marsh Posté le 10-08-2004 à 01:14:57    

Comment ça les balises en majuscule c pas compatbile XHTML ? :o

Reply

Marsh Posté le 10-08-2004 à 01:19:48    

l'absence des " autour des attributs ne l'est pas, elle...
 
(pas plus que les tags en majuscules il me semble...)

Reply

Marsh Posté le 10-08-2004 à 01:21:42    

Ben en XHTML si apres en HTML non

Reply

Marsh Posté le 10-08-2004 à 01:25:20    

Ben non, c'est pas compatible xhtml les tags en majuscules, les dtd sont en minuscules :)

Reply

Marsh Posté le 10-08-2004 à 01:26:30    

c'est ce que je viens de dire :o
 
(On s'est pas comprite je crois :lol:)

Reply

Marsh Posté le 10-08-2004 à 01:27:25    

j'ai toujours une erreur , enfin non plusieur
 

Code :
  1. Notice: Use of undefined constant sender_name - assumed 'sender_name' in d:\do_sendform.php on line 3
  2. Notice: Use of undefined constant sender_email - assumed 'sender_email' in d:\do_sendform.php on line 4
  3. Notice: Use of undefined constant message - assumed 'message' in d:\do_sendform.php on line 5
  4. Notice: Use of undefined constant sender_email - assumed 'sender_email' in d:\do_sendform.php on line 11
  5. Notice: Undefined index: recipient in d:\do_sendform.php on line 13
  6. Notice: Undefined index: subject in d:\do_sendform.php on line 13
  7. Notice: Undefined index: msg in d:\do_sendform.php on line 13
  8. Notice: Undefined index: mailheaders in d:\do_sendform.php on line 13
  9. Warning: mail(): SMTP server response: 503 5.5.2 Need Rcpt command. in d:\do_sendform.php on line 13
  10. Notice: Use of undefined constant sender_name - assumed 'sender_name' in d:\do_sendform.php on line 17
  11. Thank You, tre
  12. Your feedback has been sent.


 
 
ca donne bien ca non ?
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t{$_POST[sender_name]}\n";
  3. $msg .= "Sender E-Mail:\t{$_POST[sender_email]}\n";
  4. $msg .= "Message:\t{$_POST[message]}\n\n";
  5. $recipient = "richou0387@wanadoo.fr";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. $mailheaders .= "Reply-To: {$_POST[sender_email]}\n\n";
  9. mail($_POST["recipient"], $_POST["subject"], $_POST["msg"], $_POST["mailheaders"]);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Thank You, {$_POST[sender_name]}</H1>";
  13. echo "<P align=center>";
  14. echo "Your feedback has been sent.</P>";
  15. echo "</BODY></HTML>";
  16. ?>


 
merci pour votre aide ;)

Reply

Marsh Posté le 10-08-2004 à 01:30:42    

Ce qui est fun c'est que ça indique "Your feedback has been sent" quoi qu'il se passe :d
 
Ensuite, tu es sur que tes variables sont bonnes et bien passées dans le POST parce que apparement c'est de la que vient le problème

Reply

Marsh Posté le 10-08-2004 à 01:30:42   

Reply

Marsh Posté le 10-08-2004 à 01:31:10    

Euh, je t'ai pas dit de supprimer les guillemets des $_POST[] hein, juste de mettre les $_POST entre { :)
 
//edit :
 
et tes $_POST[] de la commande mail, ils sortent d'où ? ce serait pas les variables $msg, $recipient, $subject etc qui devraient se trouver là ? :)


Message édité par naceroth le 10-08-2004 à 01:33:16
Reply

Marsh Posté le 10-08-2004 à 01:32:06    

Sinon essayes aussi :
 
$_POST['sender_name']
 
par exemple

Reply

Marsh Posté le 10-08-2004 à 01:33:03    

naceroth a écrit :

Remplace tes $_POST[] par {$_POST[]} ce devrait déjà aller mieux


 
Ct pas très clair :o  :D

Reply

Marsh Posté le 10-08-2004 à 01:38:12    

J'écris toujours $_POST[] quand je parle du tableau en général, comme on dit $tab[] pour ajouter un nouvel élément à la fin d'un tableau, je considère comme acquis qu'un indice se met entre ' ou ", sinon, t'es bon a ressortir le manuel à chaque question :)

Reply

Marsh Posté le 10-08-2004 à 01:43:36    

conclusion de l'affaire avec ca > {$_POST[sender_name]} je doit faire ca > $_POST[sender_name]
 
??? excuse moi je comprends pas
 
vais tester $_POST['sender_name']

Reply

Marsh Posté le 10-08-2004 à 01:46:44    

Code :
  1. <?php
  2.  
  3.   $msg = "Sender Name:\t".$_POST['sender_name']."\n";
  4.   $msg .= "Sender E-Mail:\t".$_POST['sender_name']."\n";
  5.   $msg .= "Message:\t".$_POST['message']."\n\n";
  6.  
  7.   $recipient = "richou0387@wanadoo.fr";
  8.   $subject = "Web Site Feedback";
  9.  
  10.   $mailheaders = "From: My Web Site <> \n";
  11.   $mailheaders .= "Reply-To: ".$_POST['sender_name']."\n\n";
  12.  
  13.   mail($_POST["recipient"], $_POST["subject"], $_POST["msg"], $_POST["mailheaders"]);
  14.  
  15.   echo "<HTML><HEAD>";
  16.   echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  17.   echo "<H1 align=center>Thank You, ".$_POST['sender_name']."</H1>";
  18.   echo "<P align=center>";
  19.   echo "Your feedback has been sent.</P>";
  20.   echo "</BODY></HTML>";
  21.  
  22.   ?>

Pour un début ca suffit amplement... on verra plus tard pour la suite


Message édité par RiderCrazy le 10-08-2004 à 02:03:51
Reply

Marsh Posté le 10-08-2004 à 01:54:23    

avec ca >
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t$_POST['sender_name']\n";
  3. $msg .= "Sender E-Mail:\t$_POST['sender_email']\n";
  4. $msg .= "Message:\t$_POST['message']\n\n";
  5. $recipient = "richou0387@wanadoo.fr";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. $mailheaders .= "Reply-To: $_POST['sender_email']\n\n";
  9. mail($recipient, $subject, $msg, $mailheaders);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Thank You, $_POST['sender_name']</H1>";
  13. echo "<P align=center>";
  14. echo "Your feedback has been sent.</P>";
  15. echo "</BODY></HTML>";
  16. ?>


 
j'ai ca >

Code :
  1. Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\do_sendform.php on line 3


 
je teste ce de suite RiderCrazy

Reply

Marsh Posté le 10-08-2004 à 01:56:25    

Euh...c'est quoi ton truc RiderCrazy ? C'est supposé éclairé sa lanterne ou le plonger encore plus dans le brouillard ? :D
 
Supposons $_POST['sender_name'] = 'toto', ta première ligne donne Sender Name : {toto} :)
 
@richou0387
Tu mets {$_POST["sender_name"]} par exemple


Message édité par naceroth le 10-08-2004 à 01:57:54
Reply

Marsh Posté le 10-08-2004 à 01:58:39    

naceroth a écrit :

Euh...c'est quoi ton truc RiderCrazy ? C'est supposé éclairé sa lanterne ou le plonger encore plus dans le brouillard ? :D


Concaténation [:spamafote]

naceroth a écrit :


Supposons $_POST['sender_name'] = 'toto', ta première ligne donne Sender Name : {toto} :)

:heink:

Reply

Marsh Posté le 10-08-2004 à 02:01:48    

RiderCrazy a écrit :

Concaténation [:spamafote]


 
Ouais, et les {} ils servent plus à rien maintenant :)

Reply

Marsh Posté le 10-08-2004 à 02:04:09    

Merde, je croyais avoir pris le code original... je suis pas monté assez haut
[:neowen]
updated :o
 
bien vu, j'ai pas fais gaffe :jap:

Reply

Marsh Posté le 10-08-2004 à 02:09:40    

alors voila
 
j'ai tester ca >

Code :
  1. <?php
  2.  
  3.   $msg = "Sender Name:\t{$_POST["sender_name"]}\n";
  4.   $msg .= "Sender E-Mail:\t{$_POST["sender_email"]}\n";
  5.   $msg .= "Message:\t{$_POST["message"]}\n\n";
  6.  
  7.   $recipient = "richou0387@wanadoo.fr";
  8.   $subject = "Web Site Feedback";
  9.  
  10.   $mailheaders = "From: My Web Site <> \n";
  11.   $mailheaders .= "Reply-To: {$_POST["sender_email"]}\n\n";
  12.  
  13.   mail($recipient, $subject, $msg, $mailheaders);
  14.  
  15.   echo "<HTML><HEAD>";
  16.   echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  17.   echo "<H1 align=center>Thank You, {$_POST["sender_name"]}</H1>";
  18.   echo "<P align=center>";
  19.   echo "Your feedback has been sent.</P>";
  20.   echo "</BODY></HTML>";
  21.  
  22.   ?>


 
j'ai eu ca comme erreur >
 

Code :
  1. Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay for richou0387@wanadoo.fr in d:\do_sendform.php on line 13
  2. Thank You, gfd
  3. Your feedback has been sent.


 
le probleme n'est plus le meme la non ?

Reply

Marsh Posté le 10-08-2004 à 02:13:03    

Nope, le code est correct maintenant..
 
//edit parce que le reste est même pas sûr :D


Message édité par naceroth le 10-08-2004 à 02:14:37
Reply

Marsh Posté le 10-08-2004 à 02:13:32    

le smtp est bien configuré ??
 
EDIT: [:benou_grilled]
 
J'ai updaté le code au fait :o


Message édité par RiderCrazy le 10-08-2004 à 02:14:28
Reply

Marsh Posté le 10-08-2004 à 02:20:07    

RiderCrazy a écrit :

le smtp est bien configuré ??
 
EDIT: [:benou_grilled]
 
J'ai updaté le code au fait :o


ben je suppose que oui car j'ai un forum en phpBB et les mails ne fonctionnaient pas , je l'ai configuerer et maintenant les mails partent correctement ...

Reply

Marsh Posté le 10-08-2004 à 02:21:16    

ridercrazy , je vais plus toucher au code s'il est bon maintenant

Reply

Marsh Posté le 10-08-2004 à 02:26:10    

ca serais ma configue de easyphp qui merde ?

Reply

Marsh Posté le 10-08-2004 à 08:58:33    

tu as bien configuré ces lignes dans php.ini

Citation :

[mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
 
; For Win32 only.
sendmail_from = admin@localhost

Reply

Marsh Posté le 10-08-2004 à 13:43:40    

ben moi j'ai >
 
[mail function]
; For Win32 only.
SMTP = smtp.wanadoo.fr
smtp_port = 25
 
; For Win32 only.
sendmail_from = richou0387@wanadoo.fr
 
 
c pas bon ? pourtant les mails du forum en phpbb partent et arrive correctement ...

Reply

Marsh Posté le 13-08-2004 à 11:24:27    

help me please :up:

Reply

Marsh Posté le 13-08-2004 à 11:41:33    

Bon, si ça passe sous phpbb, la config doit être correcte.
 
Si tu mets pas le $mailheaders ça passe ? et si tu mets pas la ligne From : My Web Site <> ?
 
(et c'est /r/n pas /n/n en général :))

Reply

Marsh Posté le 13-08-2004 à 12:02:21    

ca me donne exactement la meme erreur avec tous ces changements  :??:

Reply

Marsh Posté le 13-08-2004 à 16:10:36    

Mouais...
 
Et un mail envoyé ailleurs que sur l'adresse qui pose problème ?

Reply

Marsh Posté le 14-08-2004 à 00:37:40    

ca fait parreil avec tt mes mails :'(
 
can you help me please ?

Reply

Marsh Posté le 14-08-2004 à 01:09:33    

pour voir si c'est ta config PHP qui ne va pas, tu peux essayer de gérer toi même le dialigue avec le serveur smtp via la classe phpmailer. Il y a un exemple fourni pour la gestion du smtp directe.
 
Tu le met en mode débug et il te dira ce qui ne va pas
 
Juste pour savoirn le port 25 est ouvert sur ta config (firewall ?)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 14-08-2004 à 13:32:05    

oui le port 25 est ouvert ,
 
je regarde pour ce que tu m'as dit juste avant et je te dit ce qu'il me raconte :jap:

Reply

Marsh Posté le 15-08-2004 à 00:18:10    

J'ai tester ceci > classe phpmailer
 
j'ai trouver un script que j'ai modifier , maintenant je recois quelque chose sur mon mail , certa pas exactement ce qu'il y a dans le formulaire mais y'a de l'avancement
 
donc c cool
 
demain je vous mettrais ce que j'ai mis pour que ca foncitonne
 
merci pour votre aide :jap:

Reply

Marsh Posté le 15-08-2004 à 23:09:41    

Code :
  1. <?php
  2. require "C:\Program Files\EasyPHP1-7\phpmailer\class.phpmailer.php";
  3. $mail = new PHPmailer();
  4. $mail->IsSMTP();
  5. $mail->Host='smtp.wanadoo.fr';
  6. $mail->From='richou0387@hotmail.com';
  7. $mail->AddAddress('richou0387@wanadoo.fr');
  8. $mail->AddReplyTo('richou0387@hotmail.com');
  9. $mail->Subject='Critiques a propos du site.';
  10. $mail->Body='Ici le mail ...';
  11. if(!$mail->Send()){ //Teste le return code de la fonction
  12.   echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
  13. }
  14. else{  
  15.   echo 'Mail envoyé avec succès';
  16. }
  17. $mail->SmtpClose();
  18. unset($mail);
  19. ?>


 
alors voila j'utilse ca maintenant , j'avais doucement ...
 
maintenant je recois un mail , mais juste avec ce qu'il y a dans "body" mais c du html ( j'espere pas dire de conneries ) mais comment faire pour récup les donnée du formulaire ?
quoi que je mette j'ai ce qu'il y a entre les ' ...
 
merci pour votre aide :jap:


Message édité par richou0387 le 15-08-2004 à 23:11:23
Reply

Marsh Posté le 16-08-2004 à 00:19:00    

Comment celui là peut fonctionner, phpbb peut fonctionner et pas un simple mail() tout simple ?  :heink:  
 
(c'est bizarre comme j'ai l'impression de me trouver devant un deuxième kid75 d'un coup :D)

Reply

Marsh Posté le 16-08-2004 à 11:45:13    

naceroth a écrit :

(c'est bizarre comme j'ai l'impression de me trouver devant un deuxième kid75 d'un coup :D)

En tant qu'observateur, je trouve que richou0387 est un meilleur élève  :)


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed