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. Voir ici quelques conseils pour la conception d'un formulaire de contact.

Note aux anciens utilisateurs de contact.php :
Pour pouvoir faire la mise à jour automatiquement, vérifiez que tous les fichiers de cette distribution ont des droits suffisants en écriture (757 ou 646).
Il est alors inutile de désinstaller l'ancienne version, la nouvelle viendra la remplacer.

Télécharger l'archive contact.zip .
Elle contient un script d'installation, contact_install.php. Copiez ce script sur votre site dans le dossier où vous aurez votre formulaire.
Important : donnez à ce fichier et au dossier des droits suffisants en écriture (757 ou 646).

Lancer l'installation
Pour cela il suffit, dans votre navigateur, de vous connecter sur votre site à l'interface web contact_install.php qui fera le reste.
N'oubliez pas de noter le mot de passe qui vous sera donné, il vous permettra d'accéder à cette interface ultérieurement.
Pendant l'installation, les fichiers suivants seront installés sur votre site, dans le même dossier :

Configuration et personnalisation
contact.config.php
C'est ce fichier qui contient la configuration de votre formulaire. Il est possible de le modifier manuellement dans un éditeur de texte, par exemple le bloc-notes.
Votre interface de gestion contact_install.php vous permet de le modifier.

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 via l'interface contact_install.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 l'interface contact_install.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 l'interface de gestion contact_install.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, mais pas de guillemets.

Fichiers joints
Dans le formulaire, la balise <form> doit avoir le paramètre enctype="multipart/form-data" .
Il faut ensuite ajouter un élément de formulaire de téléchargement de fichier (type="file"). On peut en mettre plusieurs.
C'est tout, le script s'occupe du reste.
Habituellement php impose une taille maximum des fichiers attachés de 2 Mo.

Contact.php - Retour à l'accueil