Parse error: syntax error, unexpected '$email_body' (T_VARIABLE)

RomainGA Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je souhaite écrire un formulaire de message en php.
j'obtient l'erreur suivante:
Parse error: syntax error, unexpected '$email_body' (T_VARIABLE) in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\mail.php on line 18

le code est la:


<?php
// variable a rentrer ldans la variable message
$genre = strip_tags(htmlspecialchars($_POST['civilite']));
$tel = strip_tags(htmlspecialchars($_POST['civilite']));
$prenom = strip_tags(htmlspecialchars($_POST['civilite']));
$nom = strip_tags(htmlspecialchars($_POST['civilite']));
$email = strip_tags(htmlspecialchars($_POST['civilite']));
$sujet = strip_tags(htmlspecialchars($_POST['civilite']));
$message = strip_tags(htmlspecialchars($_POST['civilite']));

//selection du destinataire
$to = 'xxxxxxxxx@gmail.com';

//sujet de ce qui arrive dans ma boite mail
$email_subject = 'nouveau message de $genre $nom $prenom'

//corps du messsage
$email_body = 'information: \n\n $genre $nom $prenom \n\n $tel \n\n email \n\n $sujet \n\n $message'

//qui me l'a envoyer
$headers = "From: noreply@yourdomain.com\n";

//réponse
$headers = "Reply-To: $email_address";

//envoie
mail($to,$email_subject,$email_body,$headers);
return true;



je ne vois aucune erreur de syntax, c'est pour cela que je demande votre aide

Cordialement.
Romain.

-->> Identifiant adresse gmail dans selection du destinataire: modifiée par Modération CCM <<--



2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Il te manque des points virgules à la fin de certaines lignes.
0
RomainGA Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   6
 
merci beaucoup :)
0
RomainGA Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   6
 
Je profite de ce sujet pour dire que j'ai maintenant le probleme:

Warning: mail(/home/u795819858/.logs/php_mail.log): failed to open stream: No such file or directory in /home/u795819858/public_html/mail.php on line 27

<?php
// variable a rentrer ldans la variable message
$genre = strip_tags(htmlspecialchars($_POST['civilite']));
$tel = strip_tags(htmlspecialchars($_POST['civilite']));
$prenom = strip_tags(htmlspecialchars($_POST['civilite']));
$nom = strip_tags(htmlspecialchars($_POST['civilite']));
$email = strip_tags(htmlspecialchars($_POST['civilite']));
$sujet = strip_tags(htmlspecialchars($_POST['civilite']));
$message = strip_tags(htmlspecialchars($_POST['civilite']));

//selection du destinataire
$to =  'xxxxxxxxx@gmail.com';

//sujet de ce qui arrive dans ma boite mail
$email_subject = 'nouveau message de $genre $nom $prenom';

//corps du messsage
$email_body = 'information: \n\n $genre $nom $prenom \n\n $tel \n\n email \n\n $sujet \n\n $message';

//qui me l'a envoyer
$headers = "From: noreply@yourdomain.com\n";

//réponse
$headers = "Reply-To: $email_address"; 

//envoie
mail($to,$email_subject,$email_body,$headers);
return true;   
?>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


-->> Identifiant adresse gmail ligne 12: modifiée par Modération CCM <<--
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Y'a plusieurs erreurs dans ton code...

Déjà ... tu réécrase la variable headers à chaque ligne ... tu as oublié de mettre un "point" devant le égal.
Ensuite.. que vient faire ce "return" ici ? Tu n'es pas dans une fonction... ce n'est donc pas utile.

Ensuite, vu le message d'erreur.. c'est que dans le fichier de config tu as défini un fichier de log pour l'envoi de mails auquel n'a pas accès le user de ton serveur....
Une simple recherche sur le net t'aurait amené à une réponse comme celle la :



The problem is that the webserver user is not able to write and/or read the mail log file. For a propper configuration:

1) create the folder and the file for the email logging. For example:

touch /var/log/php5/mail.log

2) set the logging file in php.ini:

mail.log = /var/log/php5/mail.log

3) set the owner and the group for that folder/file in case needed:

check the owner and the group with

ls -la /var/log/php5

in case needed, change the group (change www-data for whatever your web server's group is)

sudo chgrp -R www-data /var/log/php5

in case needed, change the owner (change www-data for whatever your web server's user is)

sudo chown -R www-data /var/log/php5


0