Formulaire d'envoie d'email

Lrt88 Messages postés 930 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonsoir,

j'ai un soucis avec un formulaire sur mon site. Le problème c'est que dans les cases du formulaire, il m'écrit toujours
<b>Notice</b>: Undefined variable: nom in <b>\\\public_html\contact.php</b> on line <b>80</b>
pour chaque case avec évidemment une variable différente.
Souvent quand il y a ça, on doit mettre un isset mais je pensais que le " if($_POST) " suffisait.

Voici le code (en majorité copier-coller d'un site de partage de code)

<?php
if($_POST){
//Récupération des données du formulaire----------------------------
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
$sujet = mysql_real_escape_string(htmlspecialchars($_POST['sujet']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
//------------------------------------------------------------------

//Gestion des erreurs de saisie-------------------------------------
$erreurs = array();
if( empty($nom)) $erreurs = "il manque votre nom";
if( empty($mail)) $erreurs = "il manque votre adresse email";
if( empty($sujet)) $erreurs = "il manque le sujet";
if( empty($message)) $erreurs = "il manque votre message";
//------------------------------------------------------------------

if(empty($erreurs)) {
$from = $mail;
$reply = $from;
$to = "fjc@fucam.ac.be"; //Mettez l'email de destination ici

//Mise en forme du contenu au format HTML-----------------------
$contenu = "message de : ".$nom;
$contenu .= "<br /> Message: <br />";
$contenu .= $message;
//--------------------------------------------------------------

//Entêtes de formatage de l'email en mode HTML------------------
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= 'From: '.$from."\n";
$reply = $headers."Reply-to: ".$reply."\n";
//---------------------------------------------------------------

//Déclenchement de l'email et reroutage vers une autre page-----
$resultat = mail($to, $sujet, $contenu, $reply);

if($resultat) {
echo "email envoyé";
} else {
echo "Echec de l'envoi de l'email";
}

} else {
$texte_erreur = implode("<br />",$erreurs);
print $texte-erreur;
}

}

?>

ensuite ZONE HTML sans intérêt

et voici le code mon formulaire

----------------------------------------------------------------
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<strong><u> Formulaire de contact par email</u></strong><br/>
<label for="nom"> Votre nom: </label><br /><input type="text" name="nom" value="<?php print $nom; ?>" ><br />
<label for="mail">Votre adresse email : </label><br /><input type="text" name="mail" value="<?php print $mail; ?>" /><br />
<label for="sujet"> Sujet du message: </label><br /><input type="text" name="sujet" value="<?php print $sujet; ?>" />
<label for="message"> Votre message: </label><br /><textarea name="message" rows="10" cols="40">Votre message ici.</textarea><br />
<input type="submit" value="Envoyer" />
</form>


GRAND MERCI A TOUT CEUX QUI ESSYERONS DE M'AIDER

1 réponse

Utilisateur anonyme
 
je n ai pas tout lu mais POST est un tableau
avec un extract($_POST) tu peux utiliser toutes les variables de ton formulaire directement
0