Samedi 16 mai

Faire une page contact en PHP

PHPSi vous avez un site, vous voulez certainement permettre aux visiteurs de vous contacter. Cela sans pour autant dévoiler votre adresse électronique.

En effet elle  risquerait de tomber facilement dans les mains des robots qui parcourent le web pour constituer des listes. Ensuite votre boite serait rempli de pourriels!

La solution est une page de contact, où les internautes peuvent vous envoyer un message sans voir votre adresse directement.

~

Comment envoyer un courriel en PHP

Il faut faire un formulaire tout simple avec un champ pour l'adresse de l'internaute, pour pouvoir lui répondre, et une zone de texte. Disons que nous avons une page déjà "habillée" avec le thème de votre site contact.php, le formulaire seul est formé par ce code HTML:

<form method="post" action="contact.php">
<p>
 <label for="courriel">Votre adresse électronique:</label>
 <input type="text" id="courriel" name="courriel" />
 <br /><label for="message">Votre message:</label>
 <textarea id="message" name="message"></textarea>
 <br /><button type="submit">Envoyer ce message</button>
</p>
</form>

~

Ensuite, il faut traiter le résultat en PHP. Il vaut mieux placer le code PHP avant le formulaire, le message indiquant l'envoi du message sera plus lisible. On peut même ne plus afficher le formulaire si le message est bien parti, mais allons au plus simple. ;-)

La fonction mail demande 3 ou 4 paramètres:

Ici, je vais indiquer des en-têtes avec l'adresse de votre visiteur. Cela vous permettra de lui répondre en utilisant simplement la fonction "répondre" de votre courrielleur. Et également un codage UTF-8, cela dépend de votre site, mais UTF-8 est recommandé.

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  if (empty ($_POST['courriel']) || empty ($_POST['message']))
    echo '<p>Erreur, vous devez taper votre adresse et un message!</p>';
  else
    if (@mail ('moi@example.net', 'Contact depuis votre site', $_POST['message'],
    "From: $_POST[courriel]\nContent-Type: text/plain; charset=utf-8"))
      echo '<p>Votre message a bien été envoyé. Merci.</p>';
    else
      echo '<p>Votre message ne peut être envoyé. Réessayez plus tard SVP.</p>';
}
?>

En résumé, si les champs ne sont pas vides, on envoie le courriel. S'il part, tout va bien, sinon PHP ne donne pas vraiment d'indication sur la cause de l'erreur. :-| Le destinataire étant vous-même, l'adresse est surement correcte. moi@example.net est bien sûr à remplacer par votre propre adresse! Mais celle-ci reste totalement masquée à l'internaute puisque c'est le serveur qui vous écrit et pas directement la personne.

Note: si votre serveur est configuré avec magic_quotes_gpc activé, PHP va rajouter des antislashes \ devant tous les apostrophes '. Il faudra utiliser la fonction stripslashes avant l'envoi. ;-)

~

Vous pouvez indiquer en commentaire si une suite à cet article vous intéresserait. Par exemple


a voté 0   Agrégateur informatique

Laisser un commentaire

I follow

© Azur Dev Actualité informatique & tutoriels PHP Thème d'après Greenline + PHP HTML

ThemeWordpress
Azur Dev