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é'; } ?>