PHP Insérer variable dans la fonction mail [Résolu/Fermé]

Signaler
Messages postés
48
Date d'inscription
mercredi 7 octobre 2009
Statut
Membre
Dernière intervention
28 mai 2011
-
 Anonyme -
Bonjour,

Je désire envoyer un e-mail a partir d'une page en php et j'aimerais que le sujet et le message soit toujours le même, par contre l'adresse devrait être appliquer a l'aide d'une variable. Le tout dans le cadre d'une confirmation d'inscription a mon site web par e-mail.
Voici mon code:

cette variable a été déclaré en début de script
$mail = $_POST["mail"] ;

mail('$mail', 'Ma page','Cliquez-ici pour activer votre compte sur Ma page: http://localhost/confirmation.html');

Si j'entre une adresse fixe a la place de la variable le tout fonctionne bien.

Merci a l'avance

3 réponses

Bonsoir,

Il faut mettre directement la variable sans les guillemets, comme ceci :
mail($mail, 'Ma page',


En effet, entre des guillemet simples, les variables ne sont pas évaluées par PHP.
Par contre, en utilisant "$mail" cela aurait fonctionné car considéré par PHP comme une chaîne contenant la variable.

Pour plus d'explications : par exemple, si $mail contient "toto@domaine.com"

"adresse : $mail" => "adresse : toto@domaine.com"

equivalent à
"adresse : ".$mail => "adresse : toto@domaine.com"

mais
'adresse : $mail' => 'adresse : $mail'


voila, c'est plus clair ainsi :)
Messages postés
48
Date d'inscription
mercredi 7 octobre 2009
Statut
Membre
Dernière intervention
28 mai 2011

Avec tes bon conseils BoOst, tout fonctionne très bien maintenant...

Milles merci!!! :)
De rien, j'ai préféré expliquer en détail, histoire de comprendre pourquoi ca marchait pas :)
Merci beaucoup mais avec un header complet comme on trouve plus fréquemment:
$header = "From: \"Toto\"<toto@domaine .com>".$passage_ligne;
$header .= "Reply-to: \"Toto\" <" . $Email . ">".$passage_ligne;
$header .= "MIME-Version: 1.0".$passage_ligne;
$header .= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
Faite attention a l espace d ans l adresse sans espace c'est censurer