La communauté ALL HTML c'est 58881 membres à ce jour dont 1 inscrits aujourd'hui et 31 depuis une semaine.
Cet article est actuellement publié sur le site.
Article publié le lundi 09 octobre 2006 par telnes.
Cet article est classé dans les catégories « Internet et Intranet, PHP »
Ce tutorial va permetre de comprendre comment envoyer les champs d'un formulaire avec la fonction mail() de PHP.
<form method="POST" action="inscription.php" name="monform">
Nom : <input type="text" name="nom"><br />
Prenom : <input type="text" name="prenom"><br />
Mail : <input type="text" name="mail"><br />
<textarea name="commentaire">Entrer ici votre message</textarea>
<input type="submit" value="Envoyer">
</form>
<?php // récupération des variables
// donné un autre nom au variable pour évité les problèmes avec Register Global à ON
$formMail = $_POST['mail'];
$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formCommentaire = $_POST['commentaire'];
// pour éviter des erreurs de Notice dans le cas ou le champs est resté vide, on aurait pu mettre !
// $formMail = (!isset($_POST['mail']))?$_POST['mail']:'none';
// Dans le cas ou les variables sont destiné à allimenter un base de donné il faut toujours valider les valeurs pour éviter les problèmes d'injection ! cf Google
//En règle général on traite les variables avec les fonctions htmlentities, mysql_escape_string(),addslash() ...
// Dans l'exemple on va juste vérifier que le nom, le prenom et le mail soit pas vide.
if(!empty($formMail) && !empty($formPrenom) && !empty($formNom) ){
//ok pas vide //on convertie les caractètres HTML du commentaire
$formCommentaire = htmlentities($formCommentaire);
//mise en forme du mail
$message = "$formNom $formPrenom vous contact via votre formulaire.\n \n message : \n $formCommentaire";
// on envois le mail [url=http://fr.php.net/manual/fr/ref.mail.php]http://fr.php.net/manual/fr/ref.mail.php[/url] // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('monadresse@mail.com','sujet','$message') ){
echo 'les informations on bien été envoyé!';
}
else{
echo 'une erreur est survenu lors de l\'envoi du message';
}
}
else{
//il y a des champs vide
echo 'merci de remplir les champs nom, prenom et mail';
}
?>Plus d'informations sur :