Afficher le nom utlisateur et le login d'inscription

Eléphanteau du PHP | 22 Messages

09 mars 2008, 14:12

Bonjours à toutes et à tous.

Je suis un Gros débuttant, qui s'éfforce de comprendre tout seul mais s'est pas évident !

Comment pourrais-je faire, pour afficher dans le corps d'un email au format html:
1° le nom utilisateur
2° le login qu'il à définie dans le formulaire d'inscription qui lui envois un email pour confirmer son inscription.

La démarche est de rendre l'email de confirmation nominatif (convivial :oops: )

Merci pour votre aide !

Jean.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 mars 2008, 15:35

Qu'il s'agisse du corps d'un mail ou du contenu d'une page html, le principe ne change pas. Il te faut générer en php la chaine qui sera utilisée comme corps du message en y intégrant tes variables aux endroits que tu souhaites rendre dynamique :
$corpDuMail = "<html>
  <body>
    <p> Très cher(e) " . $nomDeLaPersonne . "</p>
    <p> Bienvenue sur mon site, ...
  </body>
</html>";
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 22 Messages

09 mars 2008, 16:50

Bonjours Ryle.

Je vien d'essayer mais cela ne fonctionne pas, cela m'affiche dans le corp de l'email:
$nomDeLaPersonne
Je dois probablement te précise que j'utilise pas la fonction que tu m'a proposé.

J'utilise la fonction suivante :
mail($email, 'Confirmation d inscription en Objet de message, '<!DOCTYPE html>Corps du message dans lequel afficher le nom de l'utilisateur et son prenom qui sont inscrit dans le formulaire...<html></html>', $headers);

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 mars 2008, 19:09

Ce n'est pas une fonction que je te proposais mais simplement une variable dans laquelle je stockais le texte d'un éventuellement message. L'idée étant ensuite de passer cette variable comme paramètre de la fonction mail() :)

Si je reprend ton code, cela donnerait ceci : (je vais à la ligne entre chaque argument pour que ce soit plus lisible, ca n'est pas obligatoire :))
mail(
  $email, // destinataire de l'email
  'Confirmation d\'inscription en Objet de message', // sujet du mail
  '<!DOCTYPE html><html><body>Corps du message '. $variable .'</body></html>', // contenu du mail
  $headers // entêtes du mail (html, etc.)
); 
Quelques remarques :
- Lorsque tu mets un texte entre apostrophes en php, si celui-ci contient déjà une apostrophe, il suffit de la protéger en ajoutant un antislash devant : \'
- Les variables utilisées dans une chaine entre apostrophes ne sont pas interprétées alors qu'elle le sont dans une chaine entre guillemets, il vaut donc toujours mieux sortir ses variables des chaines en les concaténant (à l'aide du point) :
$var = 'world';
echo "hello $var"; // affiche : hello world
echo 'hello $var'; // affiche : hello $var
echo 'hello '.$var; // affiche : hello world
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 22 Messages

09 mars 2008, 19:53

Merci Ryle.

Mon mail de confirmation est trop chou maintenant ! :D

S'est quand même étrange ça,
avec les doubles cotes la variable affiche la varaible
".$nomdelaPersonne."
et qu'avec une simple cote et affiche le la valeur de la variable
L'utilisateur qui s'est inscrit
:?

Heu question inutile ! je dois avoir la solution tout seul peut-être (php est fait comme ça !!!)

Merci bien, j'ai d'autres questions techniques à poser, mais je vais cloturer ce post et en ouvrir un autre.

Thank Ryle (trop fort !)