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

Fermé
RomainGA Messages postés 110 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 8 mars 2025 - Modifié le 25 déc. 2017 à 15:50
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mars 2025 - 24 déc. 2017 à 17:41
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 <<--



A voir également:

2 réponses

jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mars 2025 4 740
24 déc. 2017 à 16:45
Bonjour

Il te manque des points virgules à la fin de certaines lignes.
0
RomainGA Messages postés 110 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 8 mars 2025 6
24 déc. 2017 à 16:51
merci beaucoup :)
0
RomainGA Messages postés 110 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 8 mars 2025 6
Modifié le 25 déc. 2017 à 15:52
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 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mars 2025 4 740
24 déc. 2017 à 17:41
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

Discussions similaires