Formulaire d'envoie d'email
Lrt88
Messages postés
930
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
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
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
A voir également:
- Formulaire d'envoie d'email
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Comment creer un compte email - Guide
- Formulaire de reclamation instagram - Guide
- Facebook piraté et adresse email changé - Guide