Contrôle des formulaires en php

1 –  contrôle des données d’un formulaire simple

    Les valeurs saisies par un internaute en remplissant un formulaire du type POST, doivent être récupérées à l’aide d’un script php et doivent être traitées comme étant des variables php. La commande utilisée par php pour réaliser cela est : $_POST[‘ nom du champ’] où l’expression nom du champ désigne le nom du champ du formulaire remplit par l’internaute. La balise <form> du formulaire en question est de la forme :

</p><form method = "POST" action = "fichier.php"></form><p>

    où fichier.php est le nom du fichier php qui va traiter les données du formulaire

Exemple :

Créeons un fichier html contenant une zone de texte( là où l’internaute doit saisir son nom) et un bouton envoyer . Vous pouvez donner un nom quelconque à ce fichier html.

<form method = "POST" action = "test.php">Introduisez votre nom <input type = "text" name ="visiteur"><input type ="submit" value= "Envoyez"></form>

Nous venons de créer la page html qui contient le formulaire d’envoi, nous allons maintenant créer le fichier php qui va récupérer la valeur saisi par l’internaute ( nom de l’internaute ). Le nom de ce dernier n’est pas n’importe, il doit suivre la commande

action =  » nom du fichier php »

ici dans cet exemple le nom est test.php , son code est le suivant :

<?php    $nom = $_POST['visiteur'] ;    echo<code>"</code> bienvenue <code>"</code>.$nom ;    ?>

Remarque :

Les deux fichiers doivent être déposés dans le même répertoire si non vous devez indiquer le chemin du fichier php dans action ="fichier.php"

2 – Utilisation de la fonction mail( )

La fonction mail permet l’evoi d’un message sous forme d’un courriel à un destinataire. Sa syntaxe est la suivante :

Mail("adresse de messagerie du destinataire","sujet du message","le message") ;

Exemple :

Créons un formulaire d’envoie d’email à l’adresse : y_derf@yahoo.fr

</p><form method = "POST" action = "formmail.php" >Sujet <input type = "text" name = "sujetmessage">Message <input type = "text" name = "message"><input type = "submit" value= "Envoyez"></form><p>

Le fichier php qui va traiter le formulaire sera nommé : formmail.php son code est :

formmail.php

<?php$sujet = $_POST['sujetmessage '] ;$message = $_POST[' message'] ;mail(<code>"</code>y_derf@yahoo.fr <code>"</code>,$sujet , message) ;?>

On peut ajouter l’adresse email de l’internaute par la méthode :

$to = $_POST[‘adresse email de l’internaute’]
mail(″ adresse mail destinataire ″ , $sujet , $message , ″from :″.$to) ;

et si on veut rediriger l’internaute vers une page de remerciement , on doit tout d’abord créer cette page lui donner un nom par exemple une page web contenant le message « Merci pour votre participation » nommons la merci.htm, il suffit maintenant d’ajouter la méthode suivante :

header(″location : http://adresse url de la page merci.htm ″) ;

 Code complet de l’exemple

    Voici le code de la page web contenant le formulaire à remplir appelons la index.htm :

index.htm

<html><head><title>formulaire</title></head><body></p><form method="post" action="formmail.php">votre email<input type="text" name="mailpost">sujet du message<input type="text" name="sujet">message<input type="text" name="message"><input type="submit" value="envoyezé"></form><p></body></html>

Voici la page formmail.php qui va traiter la page formulaire :

formmail.php

<?php$to=$_POST['mailpost'];$sujet=$_POST['sujet'];$message=$_POST['message'];mail("y_derf@yahoo.fr",$sujet,$message,"from:<code>"</code>.$to);header("Adresse url de la page merci.htm");?>

Voici le code de la apge merci.htm :

merci.htm

<html><head><title>Merci pour votre participation</title></head><body><font size="6">Merci pour votre participation</font></body></html>

3 – Envoi d’email en mode html

    On peut envoyer l’email en mode html (mise en forme du texte : gras, italique, soulignement, couleur du texte,images …) , il suffit pour cela d’ajouter quelque lignes de code au script ci-dessus :

$to .= »MIME-version:1.0 \n »;

$to .= »Content-type:text/html; charset=iso-8859-1\n »;

    Code complet de l’exemple

    Voici le code de la page web contenant le formulaire à remplir :

index.htm

<html><head><title>formulaire</title></head><body></p><form method="post" action="formmail.php" enctype="multipart/form-data">votre email<input type="text" name="mailpost">sujet du message<input type="text" name="sujet">message<input type="text" name="message"><input type="submit" value="Envoyez"></form><p></body></html>

Voici la page formmail.php qui va traiter la page formulaire :

<?php $to=$_POST['mailpost']; $to .="MIME-version: 1.0\n"; $to .= "Content-type: text/html; charset= iso-8859-1\n"; $sujet=$_POST['sujet']; $message=$_POST['message']; if(mail("y_derf@yahoo.fr",$sujet,$message,"from:".$to)){ echo'message envoyé correctement'; } else{ echo'message non envoyé'; } ?>

Commentaires