begin process at 2012 05 31 05:09:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

pb de formulaire mail lié à une variable GET


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb de formulaire mail lié à une variable GET

mercredi 24 août 2005 à 21:26:01 | pb de formulaire mail lié à une variable GET

melanijasmin

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 :&nbsp;</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 :&nbsp;</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>












mercredi 24 août 2005 à 21:54:55 | Re : pb de formulaire mail lié à une variable GET

J_G

$MonEmail = '$email';

Non, non !!  ahhh!!!!... nooooooon. 
Désolé, mais ça me rappelle des heures d'arrachage de cheuveux pour une erreur de syntaxe.

Dans ce que tu as écris, $MonEmail est une chaine de 6 caractères... C'est caractères sont : $, e, m, a, i et l...
Fais plutôt $MonEmail = $email; ou $MonEmail = "$email"; (même si c'est débile)

Sinon, les variables $mail, $pseudo, $sujet ne sont pas définies dans ton code (mais peut-être ailleur?)

$id = $_GET["id"];
!!! ATTENTION !!!
Imagine le cas où aucun id ne soit passé via l'url (sécurité du code)
$id = ( isset($_GET['id']) ? $_GET['id'] : null);


mercredi 24 août 2005 à 22:16:31 | Re : pb de formulaire mail lié à une variable GET

melanijasmin

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 !
mercredi 24 août 2005 à 22:23:05 | Re : pb de formulaire mail lié à une variable GET

J_G

Et à propos de $MonEmail = '$email'; ??? C'est'y correcte ??? 
mercredi 24 août 2005 à 22:35:42 | Re : pb de formulaire mail lié à une variable GET

melanijasmin

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 ! ;-)
jeudi 25 août 2005 à 00:53:28 | Re : pb de formulaire mail lié à une variable GET

J_G

Bon...
Fait un truc comme ça :

// Ta requète SQL
// Je pars du principe que plusiseur email ont banner=id
// et que tu veux faire une diffusion sur ces adresses
$sql = "SELECT email FROM $table WHERE nbrann='$id'";
$res = mysql_query($sql);

// Verifie que la requète est aboutie sur un résultat
// false : erreur mysql (echo mysql_error() serait bien)
// !mysql_num_rows... : pas de resultat correspondant à la requéte
if( $res==false or !mysql_num_rows($res) ) {
    echo "BOUM !!! J'ai pas trouvé d'adresse mail dans ma base !?!";
} else {
    // Construction des paramètres du message type
    $msg = "ICI le corps du message type";
    $sub = "ICI le sujet type de mon mail";
    $head = "Et puis les entêtes qu'il vous faut";

    // Pour chaque adresse mail trouvé par la requète :
    while($email = mysql_fetch_assoc($res)) {
       // Envois la sauce
       mail( $email['email'], $sub, $msg, $head);
    }
}


vendredi 26 août 2005 à 00:09:03 | Re : pb de formulaire mail lié à une variable GET

melanijasmin

Réponse acceptée !

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 !



Cette discussion est classée dans : message, mail, erreur, formulaire, email


Répondre à ce message

Sujets en rapport avec ce message

Pb, Formulaire / Mail [ par MaSenCo ] Bonjour,Je viens de mettre un formulaire / mail sur mon site, et j'ai un petit problème avec la fonction mail, c'est à dire que je reçois bien le mail Récup 2 données d'un formulaire --- à l'aide!!!!!! [ par ladafan ] Bonjour tout le monde,J'ai un gros probleme de recup de mes données sur un formulaire...Je voudrai qu'elles me soient envoyées sur mail...Voici la pag Erreur dans un script de formulaire [ par Sven78 ] Bonjour à toutes et à tous Google m'a conduit ici quand je lui ai demandé de l'aide sur la fonction $_POST qui semble me poser problème À la base c'e Fontion mail: destinataire cci et message html [ par taxitat ] Bonjour à tous,Comme bcp d'autres, j'ai un formulaire dont le code est plus bas. Je voudrais deux choses:* Au même temps qu'un email est envoyé au "cl Verification de validité du format email dans un formulaire [ par carbonaro09 ] Bonjour a tous Je viens d'essayer d'implémenter un petit morceau de code pour vérifier la validité des adresses mail remplies dans mon formulaire de Fermer POPUP [ par sachaaa ] Bonjour Je suis debutant en PHP j'ai trouvé une source sur internet pour pouvoir m'envoyer un email (direct a partir d'un site) la personne remplit un Formulaire de contact et mise en forme [ par ptisseau ] Bonjour à tous, Je suis actuellement en train de finaliser mon site professionnel spécialisé dans la finance. Celui-ci sur sa page d’accueil contien Formulaire de contact et mise en forme [ par ptisseau ] Bonjour à tous, Je suis actuellement en train de finaliser mon site professionnel spécialisé dans la finance. Celui-ci sur sa page d’accueil contien Formulaire de contact et redirection [ par puzzleland ] Hello à tous, je suis en train de coder un site pour un ami et je voudrais mettre un formulaire sur toutes les pages qui s'ouvre en cliquant sur une Envoie mail [ par wangi ] Bonjour, j'ai deux probleme pour ce qui est l'envoie mail. Voici mon script: //Préparation du mail econtenant un lien d'activation du membre par mai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales