control 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 :
<form method = ″POST″ action = ″fichier.php″>
Exemple : Créerons 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″ bienvenue ″.$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″
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
<form method = ″POST″ action = ″formmail.php″ > Sujet <input type = ″text″ name = ″sujetmessage″> Message <input type = ″text″ name = ″message″> <input type = ″submit″ value= ″Envoyez″> </form> |
Le fichier php qui va traiter le formulaire sera nommé : formmail.php son code est :
<?php $sujet = $_POST['sujetmessage '] ; $message = $_POST[' message'] ; Mail (″y_derf@yahoo.fr ″,$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> <form method="post" action="formmail.php"> votre email<input type="text" name="mailpost"><br> sujet du message<input type="text" name="sujet"><br> message<input type="text" name="message"><br> <input type="submit" value="envoyezé"> </form> </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:".$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> <p align="center"><font size="6">Merci pour votre participation</font></p> </body> </html> |
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> <form method="post" action="formmail.php"> votre email<input type="text" name="mailpost"><br> sujet du message<input type="text" name="sujet"><br> message<input type="text" name="message"><br> <input type="submit" value="Envoyez"> </form> </body> </html> |
Voici la page formmail.php qui va traiter la page formulaire :
formmail.php |
<?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é'; } ?> |
No comments:
Post a Comment