Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
656 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  traitement formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

traitement formulaire

n°1517803
kameha
Posté le 21-02-2007 à 16:55:07  profilanswer
 

Bonjour,
 
j'ai écrit un script php qui devrait traiter un formulaire.
Au moment de l'envoi, j'ai une erreur  

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in trait_inscript.php on line 38


 
Voici mon code :  

Code :
  1. <?php
  2. // Traitement du formulaire d'inscription
  3. if (isset($_POST['nom']))
  4. {
  5. $nom = $_POST['nom'];
  6. $prenom = $_POST['prenom'];
  7. $adresse = $_POST['adresse'];
  8. $ville = $_POST['ville'];
  9. $pays = $_POST['pays'];
  10. $cp = $_POST['cp'];
  11. $tel = $_POST['tel'];
  12. $email = $_POST['email'];
  13. $jouer = $_POST['jouer'];
  14. $spectateur = $_POST['spectateur'];
  15. $dejaparticipe = $_POST['dejaparticipe'];
  16. $dejaparticipe_lequel = $_POST['dejaparticipe_lequel'];
  17. $destinataire = "test@hotmail.fr";
  18. $sujet = "Inscription tournoi";
  19. $entete = "From: traitement_automatique@test.com\r\n";
  20. $entete .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  21. $entete .= "Content-Transfert-Encoding: 8bit";
  22. $msg = "Nom  :".$nom." \n\n";
  23. $msg .= "Prénom  :".$prenom." \n";
  24. $msg .= "Adresse  :".$adresse." \n";
  25. $msg .= "Ville  :".$ville." \n";
  26. $msg .= "Pays  :".$pays." \n";
  27. $msg .= "Code postal  :".$cp." \n\n";
  28. $msg .= "Téléphone  :".$tel." \n";
  29. $msg .= "Email  :".$email." \n";$msg .= "\n";
  30. $msg .= "Il souhaite jouer  :".$jouer." \n";
  31. $msg .= "Il souhaite être spectateur  :".$spectateur" \n";
  32. $msg .= "Il a déjà participé à un tournoi  :".$dejaparticipe." \n";
  33. $msg .= "Lequel  :".$dejaparticipe_lequel." \n";
  34. mail($destinataire, $sujet, $msg, $entete);
  35. echo '<b>Merci pour votre inscription,</b> texte...n\'hésitez pas à nous contacter au <b>04...</b> ou par mail : <b>...@...</b>.';
  36. }
  37. ?>


Voyez vous une erreur flagrante??
A force d'etre dedans, j'ai peut être fait une grosse erreur mais je ne la vois pas.
 
Merci d'avance


Message édité par kameha le 21-02-2007 à 16:59:14
mood
Publicité
Posté le 21-02-2007 à 16:55:07  profilanswer
 

n°1517810
kameha
Posté le 21-02-2007 à 17:00:25  profilanswer
 

il en manquait un . à spectateur :-(
merci quand même

n°1517832
kameha
Posté le 21-02-2007 à 17:12:57  profilanswer
 

bon désolé jme fais un monologue mais j'ai un autre pb :
 
j'ai bien le message de confirmation comme quoi le formulaire est traité mais rien dans ma boîte de massagerie.
Savez-vous d'ou cela peut venir?
 
Que faut-il mettre exactement ici :  
$entete = "From: traitement_automatique@test.com\r\n";
Est ce que c'est important pour que le message parte bien?
 
Merci

n°1517862
rufo
Pas me confondre avec Lycos!
Posté le 21-02-2007 à 17:33:29  profilanswer
 

il renvois true ou false mail()?
Et dans le php.ini, t'as bien configuré ton serveur smtp?

n°1517871
kameha
Posté le 21-02-2007 à 17:38:11  profilanswer
 

excuses je débute j'ai du mal à comprendre.
Je n'arrive pas à trouver le php.ini sur le serveur, normal?

n°1517884
chani_t
From Dune
Posté le 21-02-2007 à 17:57:20  profilanswer
 

Tu fais tes test en local ou sur un serveur distant(chez un hébergeur ) ?
Si tu es en local, est-ce que tu as configuré le serveur de courier sortant (smtp) ?
Si tu es chez un hébergeur, est-ce que celui ci te permet d'utiliser la fonction mail ? (chez certain ce n'est pas possible)
 
Est ce que la fonction mail quand tu envois ton mail te renvois bien un 'true' (boolé&en, qui te dit que le mail est bien partis) ?
Est ce qu'il y a une erreur qui s'affiche ?
 
Note : dsl rufo.. je me suis permis d'expliciter tes propos ;)

n°1518150
rufo
Pas me confondre avec Lycos!
Posté le 22-02-2007 à 10:28:22  profilanswer
 

chani_t a écrit :

Tu fais tes test en local ou sur un serveur distant(chez un hébergeur ) ?
Si tu es en local, est-ce que tu as configuré le serveur de courier sortant (smtp) ?
Si tu es chez un hébergeur, est-ce que celui ci te permet d'utiliser la fonction mail ? (chez certain ce n'est pas possible)
 
Est ce que la fonction mail quand tu envois ton mail te renvois bien un 'true' (boolé&en, qui te dit que le mail est bien partis) ?
Est ce qu'il y a une erreur qui s'affiche ?
 
Note : dsl rufo.. je me suis permis d'expliciter tes propos ;)


 
pas de pb, ça m'évite de le faire :)
 
Sinon, une "petite astuce" : fais un script php qui contient seulement

Code :
  1. <?php
  2. phpinfo();
  3. ?>


 
et execute le là où t'execute ton script d'envoi de mail (donc en local sur ton pc via easyphp, wamp ou autre équivalent, on sur ton hébergeur). Ca va te donner pleins d'infos sur la conf du serveur. Il faut chercher dans le tableau une variable "SMTP" et voir ce qu'il y a d'écrit en face...


Message édité par rufo le 22-02-2007 à 10:31:56
n°1518265
kameha
Posté le 22-02-2007 à 12:45:37  profilanswer
 

Merci pour vos réponses!
 
Voici ce que le phpinfo me donne :
SMTP localhost localhost
smtp_port 25 25
 
Ca veut dire quoi?

n°1518268
kameha
Posté le 22-02-2007 à 12:51:15  profilanswer
 

après avoir fait une recherche, il semble qu'il faille remplacer localhost par un FAI.
J'ai du mal a comprendre lequel mettre par contre...
Il faut que je contact l'hébergeur est lui demander de le faire non?
Ce sera plus simple.

n°1518285
chani_t
From Dune
Posté le 22-02-2007 à 13:30:24  profilanswer
 

ça veux dire que l'hébergeur n'a pas paramétré sont serveur SMTP, donc que tu ne peux pas envoyer de mail. normalement ça devrais te renvoyer une erreur ce genre de chose...

mood
Publicité
Posté le 22-02-2007 à 13:30:24  profilanswer
 

n°1518289
jukieng
Posté le 22-02-2007 à 13:36:08  profilanswer
 

T'es tests sont fait chez un hébergeur ? :o
Si oui, tu dois les contacter pour leur demander le faire...
 
Par contre, si tu as accès au php.ini (donc si tu es sur un serveur local / dedié), tu peux définir le smtp dans ce fichier.


---------------
ilonet - Internet, Informatique et Webmastering
n°1518300
nORKy
Grmmph...
Posté le 22-02-2007 à 14:00:31  profilanswer
 

Peut etre que je vais dire une bétise, mais la conf smtp, c'est que pour les machines windows non ?
Sur une machine linux, il utilise sendmail (ou tous autre MTA pt etre)
Donc, si c'est une machine linux, normal que la conf smtp ne soit pas configurer.

n°1518306
rufo
Pas me confondre avec Lycos!
Posté le 22-02-2007 à 14:17:18  profilanswer
 

j'ai une appli qui tourne sur un serveur sous Linux et les variables du php.ini relatives à la conf SMTP sont paramétrées. Donc, oui, je pense que tu dis une bêtise...

n°1518307
jukieng
Posté le 22-02-2007 à 14:19:50  profilanswer
 

nORKy a écrit :

Peut etre que je vais dire une bétise, mais la conf smtp, c'est que pour les machines windows non ?
Sur une machine linux, il utilise sendmail (ou tous autre MTA pt etre)
Donc, si c'est une machine linux, normal que la conf smtp ne soit pas configurer.


 
En effet, je viens de regarder chez mon hébergeur, et les variables relatives à la config smtp ne sont pas paramétrées. (et la fonction mail() de php marche très bien).


---------------
ilonet - Internet, Informatique et Webmastering
n°1518319
rufo
Pas me confondre avec Lycos!
Posté le 22-02-2007 à 14:49:18  profilanswer
 

jukieng a écrit :

En effet, je viens de regarder chez mon hébergeur, et les variables relatives à la config smtp ne sont pas paramétrées. (et la fonction mail() de php marche très bien).


 
ça peut simplement dire que le serveur smtp est exécuté sur le même serveur que apache/php...

n°1518322
chani_t
From Dune
Posté le 22-02-2007 à 14:51:37  profilanswer
 

Arf.. c'est possible en effet.
 
Et tu as essayé d'envoyer un mail tout bête avec mail ?  
ta fonction mail te renvois quelque chose ?

n°1518339
nORKy
Grmmph...
Posté le 22-02-2007 à 15:05:24  profilanswer
 

rufo a écrit :

ça peut simplement dire que le serveur smtp est exécuté sur le même serveur que apache/php...


 
Non, je ne crois pas
un MTA n'est pas qu'un serveur smtp
On n'a pas forcément envi de configurer son sendmail (ou autre) pour faire du smtp alors qu'on a uen machine dédié juste a coté.
généralement, un MTA non configuré est fourni avec la distrib, il suffit de configurer une ligne pour qu'il fasse son relais vers le smtp voulu
 
Sinon, toutes les machines linux/unix aurait alors un serveur smtp avec leur serveur web...
 
Je le sais, car j'ai dernierement configurer postfix pour que mon php puisse envoyé des mails sans avoir avec installé un serveur smtp
 
EDIT : tous ca pour dire qu'il faudrait plutot vérfier si la fonction mail est activé et si il n'y a pas d'eventuelle restriction (nombre de mail par jour par exemple)

Message cité 1 fois
Message édité par nORKy le 22-02-2007 à 15:06:10
n°1518340
jukieng
Posté le 22-02-2007 à 15:05:26  profilanswer
 

rufo a écrit :

ça peut simplement dire que le serveur smtp est exécuté sur le même serveur que apache/php...


 
Il faut que je me renseigne, mais pourtant, il me semble qu'ils ont un serveur mail à part...


---------------
ilonet - Internet, Informatique et Webmastering
n°1518386
rufo
Pas me confondre avec Lycos!
Posté le 22-02-2007 à 15:39:24  profilanswer
 

nORKy a écrit :

Non, je ne crois pas
un MTA n'est pas qu'un serveur smtp
On n'a pas forcément envi de configurer son sendmail (ou autre) pour faire du smtp alors qu'on a uen machine dédié juste a coté.
généralement, un MTA non configuré est fourni avec la distrib, il suffit de configurer une ligne pour qu'il fasse son relais vers le smtp voulu
 
Sinon, toutes les machines linux/unix aurait alors un serveur smtp avec leur serveur web...
 
Je le sais, car j'ai dernierement configurer postfix pour que mon php puisse envoyé des mails sans avoir avec installé un serveur smtp
 
EDIT : tous ca pour dire qu'il faudrait plutot vérfier si la fonction mail est activé et si il n'y a pas d'eventuelle restriction (nombre de mail par jour par exemple)


 
j'ai peut-être pas utilisé les bons mots, désolé. Quand je parlais de "serveur smtp", je pensais à sendmail (ie postfix). Pour moi, serveur smtp == programme qui envoie des mails. :whistle:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  traitement formulaire

 

Sujets relatifs
Traitement d'une liste dans un champ de formulairetraitement formulaire php
Traitement d'un formulaire via une popuptraitement d'upload et d'information de formulaire en même temps
Traitement des données d'un formulairevariable $_POST[""]) dans traitement de formulaire
Traitement des données d'un formulaire (checkbox) en PHPRecup. de données avec un formulaire puis traitement avec Perl
pb du traitement des donnees en PHP recuperees d'un formulaire htmlTraitement d'un formulaire dasn une page web
Plus de sujets relatifs à : traitement formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR