Les deux pages précédentes de la leçon avaient pour simple but de vérifier que les données sont passées correctement à la page web envoi.php.
Nous allons maintenant passer au but de la leçon: l'envoi d'un courrier électronique avec toutes ces données. Il n'y a plus aucune difficulté.
L'envoi du courrier électronique par la page envoi.php
repose sur la fonction PHP mail().
Celle-ci
réclame plusieurs arguments. Dans l'ordre:
Le code PHP peut être complété assez simplement.
$message
= $np."\n";$message .= "J'ai aimé $sonde \n";$message .= "Affiliation: $mbr \n";mail
("vous@votreFAI.com", "Sondage", $message, "From: $np");echo
"Votre avis vient de m'être envoyé <br />";
Oh! Veuillez m'excuser. Je crois que vous avez commis une petite faute de frappe dans le code. Vous avez écrit, par deux fois, $messages .= "bla bla bla". Mais je vous pardonne volontiers ce petit "." en trop devant le signe "=".
Il n'y a rien à pardonner. Ce n'est pas une faute de frappe. L'explication suit...
En PHP, l'opérateur "=" indique qu'il faut transférer un certain contenu dans une variable. L'ancien contenu est alors définitivement perdu.
L'opérateur ".=" signifie qu'il faut ajouter un nouveau contenu à celui qui existait déjà. L'ancien contenu est toujours présent après l'opération.
L'opérateur ".=" ne fonctionne qu'avec les chaînes de caractères.
Trois étapes dans le script PHP:
$message
qui reçoit les différentes données du formulaire. Chaque ligne est
terminée par \n qui correspond à un passage à la ligne. $message; le nom de l'expéditeur est précisé à
la fin. Le texte final du script PHP est donc:
$np = htmlentities($_POST['nomPrenom']);
$sonde =
$_POST['sondage'];
if (isset($_POST['membre']))
$mbr = $_POST['membre'];else$mbr = "Je ne suis pas membre";echo "Votre nom est $np <br />";
echo "Vous avez
aimé $sonde <br />";
echo "Affiliation: $mbr<br
/>";
mail ("vous@votreFAI.com", "Sondage", $message,
"From: $np");echo "Votre avis vient de
m'être envoyé <br />"; La fonction mail(), telle qu'elle est utilisée ci-dessus n'est pas sans présenter des problèmes potentiels.
Des spammeurs peuvent utiliser la page « envoi.php » à des fins malveillantes.
La méthode utilisée (et les remèdes possibles) est exposée à l'adresse http://www.phpsecure.info/v2/article/MailHeadersInject.php.
Dans le cas présent, à chaque utilisation illicite de la page envoi.php, un courrier électronique serait envoyé à l'adresse indiquée dans le texte même de la fonction: vous@votreFAI.com.
Quand tu as vérifié que l'envoi de données du formulaire fonctionne
dans tous les cas, passe à la page suivante.Vers la page suivante