salut à tous !
Je fais appel à vos lumières expertes, car je bloque depuis plusieurs jours sur un "%@!!& " de formulaire auquel je ne comprends plus rien !!!
Je pars d'une variable id transmise par GET, et qui me permet de récupérer un email dans ma bdd pour expédier le message du formulaire à son destinataire. Le formulaire indique à chaque fois que le message est bien parti, mais en réalité, il n'arrive en général pas dans la messagerie (il est quand même arrivé 3 fois sur 50 essai, c ce qui m'intrigue le plus !) Je n'y comprends plus rien du tout : pourtant, j'ai testé avec echo, et l'email est bien reconnu. Par ailleurs, le formulaire fonctionne si je rentre une adresse. Alors quel est le pb ???? Si vous pouviez jeter un petit coup d'oeil à mon code, histoire de voir....Voici mon code dernière version (mais j'ai testé plein plein de trucs ):
<?php
include("fonction/connection_data.php4");
include("fonction/mysql_func.php4");
connect();
$table="annonce";
$annonce=addslashes($annonce);
$id= $_GET["id"];// je récupère l'id
$sql2="SELECT email FROM $table WHERE nbrann='$id'"; //je sélectionne l'email correspondant à l'ID transmise par GET
$res2=mysql_query($sql2);
while ($affiche = mysql_fetch_array($res2))
$email=$affiche['email'];
{
if($Click == 'on') { // On a donc cliqué sur "Envoyer" dans le formulaire
$MonEmail = '$email';//C là qu'est le pb !!! L'email devrait apparaître là, mais apparemment ce n'est pas le cas. Pourtant, avec echo, ça marche !??
}
if (ereg ('@', $mail)) { // Vérification de l'email
$domaine = split ('@', $mail, 2);
$domaine = str_replace('>', '', trim ($domaine[1]));
if (!checkdnsrr($domaine) OR $domaine == '') $Erreur["mail"] = 'L\'email saisie n\'existe pas !' ;
}
else $Erreur['mail'] = 'Veuillez saisir votre email correctement' ;
if(!isset($Erreur)) { // il n'y a pas d'erreur
$SujetEmail = "Réponse à votre annonce" ; // sujet du formulaire
$MsgEmail = "Bonjour,\n" // contenu du email
."Un visiteur vient de répondre à votre annonce \n"
."------------------ Contenu ------------------\n"
."Pseudo : ".$pseudo."\n"
."Email : ".$mail."\n"
."Message : ".$message."\n"
."----------------------------------------------\n"
."" ;
$HeaderEmail = "From: ".$mail."" ;
mail($MonEmail, $SujetEmail, $MsgEmail, $HeaderEmail); //envoi d'un email au client
$Confirmation= TRUE ; // création pour écrire un message de confirmation
} // fermeture de (il n'y a pas d'erreur)
} // fermture de (On a donc cliqué sur "Envoyer")
?>
<small style="font-family:verdana, arial; font-size:1px; font-weight:bold;">
<FORM ACTION="<?php echo $PHP_SELF ; ?>" METHOD="post" NAME="formulaire">
<INPUT TYPE="hidden" NAME="Click" VALUE="on">
<TABLE WIDTH="300" CELLSPACING=0 CELLPADDING=0 bgcolor="#b0d8ff">
<?php
if($Confirmation == TRUE) { // Il y a une confirmation
echo '<TR>'
.'<TD COLSPAN=2>Votre message a bien été envoyé, merci !</TD>'
.'</TR>' ;
}
if($Erreur['mail'] !='') { // le champ email est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['mail'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Email : </TD>
<TD><INPUT TYPE="text" NAME="mail" VALUE="" SIZE="20"></TD>
</TR>
<?php
if($Erreur['message'] !='') { // le champ message est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['message'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Message : </TD>
<TD><TEXTAREA NAME="message" ROWS="5" COLS="30"><?php echo $message ; ?></TEXTAREA></TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT TYPE="submit" VALUE="Envoyer"></TD>
</TR>
</TABLE>
</FORM>
</small>