Bonjour, j'ai quelques soucis avec un formulaire PHP.
Mon formulaire comprends "3 pages" : l'une avec le formulaire même, l'une avec les fonctions pour envoyer sur l'e-mail du destinaire et la dernière qui est une page de confirmation de l'envoi qui retourne automatiquement sur le formulaire après 3 secondes.
Voici le code de la page du formulaire
contact.php
<form method="post" action="Envoyer_Email.php">
<table width="100%" border="0">
<tr>
<td width="15%" valign="top"><font size="2">Nom : </font></td>
<td width="85%"><font size="2">
<input type="text" name="v_nom" id="v_nom" size="20">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">Prénom : </font></td>
<td><font size="2">
<input type="text" name="v_prenom" id="v_prenom2" size="20">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">Adresse : </font></td>
<td><font size="2">
<input type="text" name="v_adresse" id="v_adresse2" size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">NPA : </font></td>
<td><font size="2">
<input type="text" name="v_npa" id="v_npa2" size="10">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">Localité : </font></td>
<td><font size="2">
<input type="text" name="v_localite" id="v_localite2" size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">Adresse e-mail : </font></td>
<td><font size="2">
<input type="text" name="v_adresse_email" id="v_adresse_email2" size="30">
</font></td>
</tr>
<tr>
<td valign="top"><font size="2">Remarque : </font></td>
<td><font size="2">
<textarea name="v_remarque" id="textarea" cols=40 rows=7></textarea>
</font></td>
</tr>
<tr>
<td valign="top"><font size="2"> </font></td>
<td><font size="2">
<input name="submit" type="submit" value="Envoyer">
</font></td>
</tr>
</table>
</form>
Envoyer_Email.php
<?
function validate_email($Adresse_email){
$exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
if(eregi($exp,$Adresse_email)){
if(checkdnsrr(array_pop(explode("@",$Adresse_email)),"MX" )){
return true;
}else{
return false;
}
}else{
return false;
}
}
$Nom=$HTTP_POST_VARS['v_nom'];
$Prénom=$HTTP_POST_VARS['v_prenom'];
$Adresse=$HTTP_POST_VARS['v_adresse'];
$Npa=$HTTP_POST_VARS['v_npa'];
$Localité=$HTTP_POST_VARS['v_localite'];
if (isset($HTTP_POST_VARS['v_adresse_email']) and validate_email($Adresse_email))
{
$Adresse_email=$HTTP_POST_VARS['v_adresse_email'];
}
else
{
$Adresse_email=null;
}
$Remarque=$HTTP_POST_VARS['v_remarque'];
$contenu="demande d'information de la part de\n";
$contenu.= "nom : ".$Nom."\n";
$contenu.= "prenom : ".$Prénom."\n";
$contenu.= "adresse : ".$Adresse."\n";
$contenu.= "npa : ".$Npa."\n";
$contenu.= "localite : ".$Localité."\n";
$contenu.= "adresse_email : ".$Adresse_email."\n";
$contenu.= "remarque : ".$Remarque."\n";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: php\n";
$headers .= "From: \"".$Adresse_email."\" <".$Adresse_email.">\n \r\n\r\n";
mail("monemail@hotmail.com", "demande d'information", $contenu, $headers);
echo "mail ok";
header("Location: envoyer.php" );
?>
envoyer.php
<script language="JavaScript">
function redirect() {
window.location="../page/formreservation2.php"
}
setTimeout("redirect()",3000); // delai en millisecondes
</script>
L'email a bien été envoyé.
<p>Retour à la page de réservation</p>
Lors de l'envoi du formulaire, voici ce que m'affiche le navigateur :
Notice: Undefined variable: Adresse_email in c:\program files\easyphp1-8\www\page\envoyer_email.php on line 51
mail ok
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\page\envoyer_email.php:51) in c:\program files\easyphp1-8\www\page\envoyer_email.php on line 111
les lignes bleues sont les lignes "qui posent problème".
Please, help me !