aspirine.org
Utilitaires pour sites web

Contact.php - Retour à l'accueil

contact.php : installation et configuration

Il faut avant tout avoir un formulaire déjà prêt.

Télécharger l'archive contact.zip .
contient le script php, le script de configuration à compléter, le JavaScript de vérification avant l'envoi, et des pages HTML d'exemple.

Copier les fichiers sur votre site.

Configuration et personnalisation des fichiers et du script.
contact.config.php
Ouvrir ce fichier dans un éditeur de texte, par exemple le bloc-notes et mettre l'adresse email du destinataire. Toutes les instructions sont écrites dans le fichier, y compris pour activer les autres fonctionnalités comme les champs obligatoires.

contactmerci.php
Cette page sera affichée sur le site pour les visiteurs qui auront bien envoyé le formulaire. Elle ne contient qu'un bref remerciement et un lien retour. Elle peut être personnalisée à volonté, n'importe quelle page html ou php fera l'affaire.

contacterreur.html
Cette page sera affichée sur le site en cas d'erreur : le visiteur a oublié un champ obligatoire, a donné une adresse email invalide, ou un problème technique est survenu lors de l'envoi. Elle ne contient qu'un court message, le texte de l'erreur en rouge et un lien retour. Elle peut être personnalisée à volonté, n'importe quelle page html fera l'affaire.
Pour que la description de l'erreur soit insérée dans la page, il suffit d'écrire ##ERREUR## à l'endroit souhaité (voir l'exemple). Ceci ne marchera qu'avec une vraie page HTML. Avec une page PHP il faut insérer le code <?= $erreur ?> à l'endroit où le descriptif de l'erreur doit apparaître.

Configuration du formulaire.

Voir aussi conception du formulaire à propos de la vérification des champs.

Utilisation d'une base de données (MySQL).
Pour numéroter les courriers et les archiver, il suffit d'entrer dans le fichier contact.config.php les informations nécessaire à l'accès : serveur, identifiant et mot de passe pour la base de données, et liste des champs à enregistrer. Tout le reste est automatique : contact.php va créer la table (par défaut elle s'appelle contact_php, mais il est possible de personnaliser ce nom) et ajouter les colonnes correspondant aux champs à enregistrer, plus une colonne "n" de numérotation qui s'incrémentera à chaque nouveau courrier. Ce numéro sera écrit dans les courriers envoyés.
Il est ensuite possible de consulter les archives dans cette table avec les utilitaires spécialisés comme phpmyadmin.

On peut modifier à tout moment la liste des champs de formulaire à enregistrer dans la base : contact.php ajoute automatiquement les colonnes nécessaires, sans perte de données. Il est possible avec phpmyadmin d'intervenir sur la base, par exemple supprimer des courriers ou des colonnes, cela ne gênera pas le fonctionnement.

Utilisation du système anti-spam reCAPTCHA
reCAPTCHA est un test utilisé sur Internet dans les formulaires pour se prémunir contre les soumissions automatisées et intensives réalisées par des robots malveillants. On peut le voir à l'oeuvre sur la page d'accueil. C'est un service à distance fourni par l'université Carnegie Mellon à Pittsburgh aux États-Unis.
Pour utiliser reCAPTCHA dans vos formulaires :

  1. Votre formulaire doit être en php.
  2. Vous devez vous inscrire sur le site http://recaptcha.net . Actuellement (fin 2007) l'inscription est en anglais ("my account" puis "sign up"), mais c'est assez simple puisqu'ils ne demandent qu'un identifiant, un mot de passe, une adresse email et votre nom de domaine. Notez bien les deux clés qu'ils vous fournissent en retour : une clé publique et une clé privée.
  3. Entrez la clé privée dans le fichier contact.config.php
  4. Copiez sur votre site le fichier recaptchalib.php présent dans l'archive.
  5. Insérez dans votre formulaire le code javascript+php ci-dessous et la clé publique pour que le captcha apparaisse :
    <script>
    var RecaptchaOptions = {
      theme : 'red',  // 'red' | 'white' | 'blackglass' | 'clean' | 'custom'
      lang : 'fr'
    };
    </script>
    <?
    require_once('recaptchalib.php');
    $publickey = "..."; // Votre clé publique entre les guillemets.
    echo recaptcha_get_html($publickey);
    ?>
    

Chiffrement du mail
Si le formulaire peut contenir des données sensibles et que vous utilisez une connexion sécurisée (SSL) pour la transmission entre votre visiteur et votre serveur, il serait dommage qu'ensuite le mail vous parvienne en clair.
Il est possible de chiffrer automatiquement tous les mails générés par le formulaire. Le déchiffrage se fait ensuite hors ligne grâce au programme AESdecode.
Pour activer le chiffrement des mails, il suffit de mettre dans le fichier contact.config.php la clé de codage. C'est une suite de 16 caractères. Il est conseillé d'y mettre des lettres accentuées, des chiffres, des symboles.

Contact.php - Retour à l'accueil