Problème de formulaire php
bnx68
Messages postés
14
Statut
Membre
-
bnx68 Messages postés 14 Statut Membre -
bnx68 Messages postés 14 Statut Membre -
Bonjour à tous, je suis débutant en php et pour mon site j'ai bidouillé un formulaire qui fonctionne bien sauf qu'il n'envoie pas le message à l'email demandé, quelqu'un pourrait il m'expliquer ce qu'il manque à mon code svp, merci d'avance
<?php
// Initialise les variables
$erreur = NULL;
$info = NULL;
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message'])){
extract($_POST);
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)){
$pseudo = htmlentities(addslashes($pseudo));
$email = htmlentities(addslashes($email));
$message = htmlentities(addslashes($message));
$message = 'Pseudo : '.$pseudo.' '."\n".' Message : '.$message.'';
$sujet = "Formulaire de contact";
$destinataire = "bnx68@hotmail.fr";
$entete ='From: '.$email.'';
echo $entete;
mail($destinataire,$sujet,$message,$entete);
$info = 'Votre message à été envoyé';
unset($_POST);
unset($message);
unset($email);
unset($pseudo);
}
else{
$erreur = 'Votre adresse email est invalide';
}
}
else {
$erreur = 'Veuillez remplir tous les champs obligatoires *';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="images/design.css" />
</head>
<body>
<div id="contenu">
<!--Le contenu -->
<h1 style="text-align:center;">Formulaire de contact </h1>
<form method="post" id="formulaire_contact" target="">
<fieldset>
<legend> Formulaire de contact</legend>
<label for="pseudo">Pseudo* : </label><input type="text" name="pseudo" id="pseudo" value="<?php if(isset($pseudo)) echo $pseudo; ?>"/><br/>
<label for="email">Email* : </label><input type="text" name="email" id="email" value="<?php if(isset($email)) echo $email; ?>"/><br/>
<form name="form1">
<label>Oui <input type="radio" name="choix" value="1" /></label>
<label>Non <input type="radio" name="choix" value="0" /></label>
<div id="hidden">
<label>Champ 1 <input type="text" /></label>
</div>
</form>
<script type="text/javascript">
var oui = document.form1.choix[0];
var non = document.form1.choix[1];
oui.onclick = function() {
document.getElementById("hidden").style.display = "block"
};
non.onclick = function() {
document.getElementById("hidden").style.display = "none"
};
</script>
<label for="message">Message* : </label><textarea name="message" id="message" ><?php if(isset($message)) echo $message; ?></textarea><br/>
<input type="submit" value="Envoyer"/><span style="color:red"> <?php echo $erreur; ?></span><span style="color:green"> <?php echo $info; ?></span>
</fieldset>
</form>
</div>
</body>
</html>
<?php
// Initialise les variables
$erreur = NULL;
$info = NULL;
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message'])){
extract($_POST);
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)){
$pseudo = htmlentities(addslashes($pseudo));
$email = htmlentities(addslashes($email));
$message = htmlentities(addslashes($message));
$message = 'Pseudo : '.$pseudo.' '."\n".' Message : '.$message.'';
$sujet = "Formulaire de contact";
$destinataire = "bnx68@hotmail.fr";
$entete ='From: '.$email.'';
echo $entete;
mail($destinataire,$sujet,$message,$entete);
$info = 'Votre message à été envoyé';
unset($_POST);
unset($message);
unset($email);
unset($pseudo);
}
else{
$erreur = 'Votre adresse email est invalide';
}
}
else {
$erreur = 'Veuillez remplir tous les champs obligatoires *';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="images/design.css" />
</head>
<body>
<div id="contenu">
<!--Le contenu -->
<h1 style="text-align:center;">Formulaire de contact </h1>
<form method="post" id="formulaire_contact" target="">
<fieldset>
<legend> Formulaire de contact</legend>
<label for="pseudo">Pseudo* : </label><input type="text" name="pseudo" id="pseudo" value="<?php if(isset($pseudo)) echo $pseudo; ?>"/><br/>
<label for="email">Email* : </label><input type="text" name="email" id="email" value="<?php if(isset($email)) echo $email; ?>"/><br/>
<form name="form1">
<label>Oui <input type="radio" name="choix" value="1" /></label>
<label>Non <input type="radio" name="choix" value="0" /></label>
<div id="hidden">
<label>Champ 1 <input type="text" /></label>
</div>
</form>
<script type="text/javascript">
var oui = document.form1.choix[0];
var non = document.form1.choix[1];
oui.onclick = function() {
document.getElementById("hidden").style.display = "block"
};
non.onclick = function() {
document.getElementById("hidden").style.display = "none"
};
</script>
<label for="message">Message* : </label><textarea name="message" id="message" ><?php if(isset($message)) echo $message; ?></textarea><br/>
<input type="submit" value="Envoyer"/><span style="color:red"> <?php echo $erreur; ?></span><span style="color:green"> <?php echo $info; ?></span>
</fieldset>
</form>
</div>
</body>
</html>
3 réponses
-
ton formulaire fonctionne très bien chez moi, bien que certains champs ne sont pas traités.
Si tu teste en local, as tu bien configuré ton php.ini avec le bon smtp de ton FAI?
-
merci de m'avoir répondu, moi je le test en localhost et à mon adresse email mais je ne reçois pas les messages et le message: "votre message a bien été envoyer" ne s'affiche pas, il se contente, quand je valide de me ré afficher la page de contact vierge...
-
Tu n'as pas répondu à Lord Zero:
Si tu teste en local, as tu bien configuré ton php.ini avec le bon smtp de ton FAI?