melanijasmin
Messages postés4Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention26 août 2005
-
24 août 2005 à 21:26
melanijasmin
Messages postés4Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention26 août 2005
-
26 août 2005 à 00:09
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 ):
$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 ([mailto:'@' '@'], $mail)) { // Vérification de l'email
$domaine = split ([mailto:'@' '@'], $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">
<?php
if($Confirmation == TRUE) { // Il y a une confirmation
echo '----
'
.'Votre message a bien été envoyé, merci !, '
.'' ;
}
if($Erreur['mail'] !='') { // le champ email est vide
echo '----
'
.', '
.''.$Erreur['mail'].', '
.'' ;
}
?>
----
Email : ,
,
<?php
if($Erreur['message'] !='') { // le champ message est vide
echo '----
'
.', '
.''.$Erreur['message'].', '
.'' ;
}
?>
----
melanijasmin
Messages postés4Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention26 août 2005 26 août 2005 à 00:09
Merci mille fois J_G, mais finalement, j'ai pas eu à me servir de ton code : j'étais trés pressée d'avoir la solution aprés 3 jour d'arrachage de cheveux, alors j'ai pris le taureau par les cornes en remettant tout à plat. J'ai refais le formulaire, et apparemment, le pb venait de ce formulaire sans doute trop compliqué. Avec la nouvelle version, ça a marché du premier coup sans pb. Merci encore !
melanijasmin
Messages postés4Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention26 août 2005 24 août 2005 à 22:16
Merci J_G pour ces conseils, je prends note ! Pour les variables pseudo..etc, c vrai que pseudo n'est plus défini ! G tellement tripatouillé mon code !!! Mais bon, c pas ça qui bloque le formulaire.
Heeeelp !
melanijasmin
Messages postés4Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention26 août 2005 24 août 2005 à 22:35
Ben ça c'est une version parmis tant d'autres. J'avais déjà écrit la formule comme tu me l'as indiqué, mais comme ça marche pas, alors j'ai improvisé plein d'experiences comme ça '$email'; mais aussi comme ça '".$email"'; ou comme ça $email;... J'ai même essayé avec
echo:"$email"; Mais rien à faire !!!!
Pourtant ça ne doit pas être bien compliqué ! L'adresse s'affiche avec echo, alors comment la faire rentrer dans ce scgrodhtodhtqm de formulaire qu'est tout bête et qui me bloque tant !??? Merci pour votre attention ! ;-)