: php

Envoi de formulaire par email

Pour envoyer un formulaire par email avec PHP il faut créer une page php qui réceptionne les données du formulaire. L'url de cette page doit être donné dans l'attribut action de la balise form.

Php gère les paramètres transmis par un formulaire et les rends accessibles dans un tableau associatif dont les clés correspondent aux noms des champs. Suivant la méthode d'envoi (get ou post) fixé dans l'attribut method du formulaire, les données sont dans le tableau $_GET ou $_POST respectivement.

On peut donc accéder à un champs avec l'écriture suivante:

$valeur = $_POST['nom_du_champ']; // en méthode post
$valeur = $_GET['nom_du_champ']; // en méthode get

Pour simplifier l'extraction des champs, on peut utiliser la fonction extract de php qui transforme un tableau associatif en variables.

Exemple de script d'envoi par email

<?php
    extract($_POST);

    $text  = "-------------------------------------------\n";
    $text .= "Formulaire de contact\n";
    $text .= "-------------------------------------------\n";
    $text .= "\n";
    $text .= "Nom        : $nom\n";
    $text .= "Prénom     : $prenom\n";
    $text .= "Adresse    : $adresse\n";
    $text .= "NPA Ville  : $npa $ville\n";
    $text .= "Téléphone  : $tel\n";
    $text .= "Email      : mailto:$email\n";
    $text .= "\n";
    $text .= "Remarque\n";
    $text .= "--------\n";
    $text .= "\n";
    $text .= "$remarque\n";
    $text .= "\n";
    $text .= "-------------------------------------------\n";

    mail("responsable@domaine.ch", "Contact du site", $text);

    header('Location: http://www.domain.ch/merci.html');
?>

La fonction mail envoie l'email, elle attend trois paramètres, l'adresse email, le sujet et le corps du mail.

Une fois l'email envoyé, on envoie une réponse HTTP de redirection pour demander au navigateur de charger la page de confirmation.

Editer