Unexpected T_VARIABLE fonction mail() PHP

Fermé
thenorth59 Messages postés 8 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 1 décembre 2006 - 28 nov. 2006 à 21:58
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 1 déc. 2006 à 17:49
Bonjour.
Ca va bientot faire une semaine que je cherche l'erreur que l'on m'indique, mais je ne la trouve pas du tout.

Voici le message d'erreur :
Parse error: syntax error, unexpected T_VARIABLE in /data/users/r/xxxxxxxx/envoiMail.php on line 56.
la ligne 56 est la derniere du code que je vais montrer.

J'ai beau testé tous les paramétres de la fonction mail aucun ne m'indique ou est l'erreur.
Voici le code pour la fonction mail en espèrant recevoir un réponse réparant l'erreur.


$destinataire = $_POST['mail'];
$objet = "Mot de passe oublié sur notre site";
$message="
<html>
<head>
                <title>Mot de passe oublié</title>
</head>

<body>

Bonjour. <br/>
Vous avez fait une demande pour retrouver votre mot de passe sur notre site.<br/>

Pour des raisons de sécurité, un nouveau mot de passe vous sera fourni dans cet e-mail.<br/><br/>

Votre Pseudo : ".$Pseudo."<br/>
Votre Mot de passe : ".$newPass."<br/><br/>

Vous pouvez modifier votre mot de passe par la suite : <br/>
Connectez vous avec ce pseudo et ce mot de passe puis allez dans ''Votre profil'' et remplissez le premier champ par ce mot de passe puis le deuxième comme vous voulez.<br/><br/>
					
A bientôt sur notre site.
</body>
</html>";
		
$headers = "MIME-version: 1.0\n\r" ;
$headers = "From: adresse@xxxxxxx.com\n" ;
$headers .= "Content-type: text/html; Charset=iso-8859-1\n" ;
		
		
$envoiMail = mail($destinataire‚ $objet‚ $message‚ $headers);



J'espère de tout coeur que vous pourrait m'aider.
merci d'avance Thenorth59
A voir également:

7 réponses

Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
28 nov. 2006 à 23:07
Salut.

Est-ce que tu es sur de pouvoir attribuer le résultat de la fonction mail (false ou true) a une variable ?
Essaye sans ;)
https://www.php.net/manual/en/function.mail.php

a plus
0
thenorth59 Messages postés 8 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 1 décembre 2006
29 nov. 2006 à 22:25
Bonjour et merci Sylvain.

mais malheureusement même en supprimant la variable, ça affiche toujours la même chose. :'{

a + Romain
0
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
29 nov. 2006 à 23:05
Ca alors, en supprimant une virgule et en la rajoutant (dans les paramètres de mail), ca marche !!

Avec ce code (optimisé au passage), ca fonctionne :
<?php
$destinataire=$_POST['mail'];;
$objet='Mot de passe oublié sur notre site';
$message='
<html>
<head>
                <title>Mot de passe oublié</title>
</head>

<body>

Bonjour. <br/>
Vous avez fait une demande pour retrouver votre mot de passe sur notre site.<br/>

Pour des raisons de sécurité, un nouveau mot de passe vous sera fourni dans cet e-mail.<br/><br/>

Votre Pseudo : '.$Pseudo.'<br />
Votre Mot de passe : '.$newPass.'<br /><br />

Vous pouvez modifier votre mot de passe par la suite : <br/>
Connectez vous avec ce pseudo et ce mot de passe puis allez dans
"Votre profil" et remplissez le premier champ par ce mot de passe puis le deuxième comme vous voulez.<br /><br />
					
A bientôt sur notre site.
</body>
</html>';
$headers='MIME-version: 1.0'."\n\r" ;
$headers.='From: adresse@xxxxxxx.com'."\n" ;
$headers.='Content-type: text/html; Charset=iso-8859-1'."\n";
$envoiMail=mail($destinataire,$objet,$message,$headers);
?>


Je te conseille un htmlentities sur le $_POST['mail']
0
thenorth59 Messages postés 8 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 1 décembre 2006
30 nov. 2006 à 22:27
Merci ça marche enfin.

Il y a un autre problème maintenant mais moin important, c'est qu'il ne met pas l'e_mail au format html ??
on voit toute les balises

a+
0

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

Posez votre question
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
1 déc. 2006 à 14:22
Le htmlentities transforme tous les caractères par leurs entités (pour ceux qui en ont).

Essaye avec ce code :
<?php
$destinataire=htmlentities($_POST['mail']);
$objet='Mot de passe oublié sur notre site';
$message='
<html>
<head>
                <title>Mot de passe oublié</title>
</head>

<body>

Bonjour. <br/>
Vous avez fait une demande pour retrouver votre mot de passe sur notre site.<br/>

Pour des raisons de sécurité, un nouveau mot de passe vous sera fourni dans cet e-mail.<br/><br/>

Votre Pseudo : '.htmlentities($Pseudo).'<br />
Votre Mot de passe : '.htmlentities($newPass).'<br /><br />

Vous pouvez modifier votre mot de passe par la suite : <br/>
Connectez vous avec ce pseudo et ce mot de passe puis allez dans
"Votre profil" et remplissez le premier champ par ce mot de passe puis le deuxième comme vous voulez.<br /><br />
					
A bientôt sur notre site.
</body>
</html>';
$headers='MIME-version: 1.0'."\n\r" ;
$headers.='From: adresse@xxxxxxx.com'."\n\r" ;
$headers.='Content-type: text/html; Charset=iso-8859-1'."\n";
$envoiMail=mail($destinataire,$objet,$message,$headers);
?>


Si ca ne marche toujours pas, tu peux envoyer avec le type MIME text/plain en remplacant les <br /> par des retours a la ligne.
Même si ca marche d'ailleurs, c'est mieux d'envoyer le message en text/plain.

a plus
0
thenorth59 Messages postés 8 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 1 décembre 2006
1 déc. 2006 à 17:41
J'avait déjà essayé en mettant htmlentities a mes variables et ça ne changé rien, je vais donc faire en écrivant sans les balises.

Merci de m'avoir aidé
0
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
1 déc. 2006 à 17:49
A ce moment la envoie avec le type text/plain, c'est mieux, d'autant plus que tu n'utilises pas de code html ;)
0