IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Mauvaise variable interprétée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut Mauvaise variable interprétée
    Bonjour

    Quand je clique sur Contacter M Dupont ou Contacter M Durand je suis dirigé sur une page qui devrait récupérer le champs email correspondant au profil sélectionné mais cela ne fonctionne pas.
    Il me selectionne tout le temps le même la même personne.

    Ensuite le message est envoyé via la fonction mail de php. La fonction, elle, envoie le mail correctement.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    	$reponse = mysql_query("SELECT * FROM membre where login='".$login."'" ); 
     
     
     
     $row=mysql_fetch_assoc($reponse);
     
     if ($texte!="")
    {
     
    $adresse=$row['email']; 
    $entete="X-Priority:1\n";
    $corps="Le message est le suivant :\n";
    $corps.=" ".$texte."\n";
    mail($adresse,"Vous avez un message",$corps,$entete);
    }
     
     
     
     
     //ligne de test
    	   echo  '<font color="00000"><b>Email : <font color="#DE2A49"></b>'.$row['email'].'</br>';
     
     
     echo '<br><font color=navy>Vous ecrivez à : '.$row['login'].'</font></br>';
     
     
     
    mysql_close($db);
    Si quelqu'un pouvait m'aider svp. Je pense que cela vient du select ou du .$row['email']. mais je ne suis pas certain. Merci.
    Yann

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("SELECT * FROM membre where login='".$login."'" );
    $login est utilisé ici mais où est sa déclaration ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    J'avais essayé cette ligne
    avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $reponse = mysql_query("SELECT * FROM membre where login='".$login."'" );
    Mais ça ne marche pas...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    C'est normal, ton $row['login'] ne risquait pas d'être accessible avant d'être définit.

    Donc là ton problème c'est que tu effectues une requête sur un champs login forcément vide vu que ta variable n'est pas déclarée.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Tu peux m'aider à la déclarer stp ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Tu peux par exemple envoyer le login via l'URL et le récupérer par $_GET, en admettant bien sûr que le login soit un identifiant unique.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Le login est bien un identifiant unique mais je ne sais pas faire ce que tu dis :-(

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Liste des membres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (Connexion à la base et co)
    ...
    $req = mysql_query("SELECT * FROM membre");
    while($row = mysql_fetch_array($req))
    {
    echo "<p><a href=\"email.php?login={$row['login']}\">Contacter {$row['login']}.</a></p>";
    }
    Ce qui va t'afficher des liens vers email.php pour contacter chaque membre.
    Ensuite, email.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    if (isset($_GET['login']) && !empty($_GET['login']))
    {
    $login = $_GET['login'];
    // Connexion à la base de données puis ton code précédent
    }
    Par exemple.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    ça avance, ça avance... mais maintenant l'email est envoyé à la personne connectée. En effet, pour se connecter au site il faut s'identifier avec login + Mot de passe.
    Et c'est ce login qui est récupéré ! On s'envoit donc son propre mail.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Montre ton code stp, parce que là ton problème n'a rien à voir avec le code que j'ai mis précédemment.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    	if (isset($_GET['login']) && !empty($_GET['login']))
    {
    $login = $_GET['login'];
     
    }
     
     
     
     
     
    	$reponse = mysql_query("SELECT * FROM membre where login='".$login."'" ); 
     
     
     
     //$row=mysql_fetch_assoc($reponse);
     
     if ($texte!="")
    {
     
    $adresse=$row['email']; 
    $entete="X-Priority:1\n";
    $corps="Le message est le suivant :\n";
    $corps.=" ".$texte."\n";
    mail($adresse,"Vous avez un message",$corps,$entete);
    }
     
     
     
     
     
    	   echo  '<font color="00000"><b>Pseudo : <font color="#DE2A49"></b>'.$row['email'].'</br>';
     echo '<br><font color=navy>Vous ecrivez à : '.$row['login'].'</font></br>';
     
     
     
    mysql_close($db); 
    ?>

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    j'ai une variable de session en début de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    session_start();  
    if (!isset($_SESSION['login'])) { 
      header ('Location: index.php'); 
       exit();  
    }

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Le login est bien envoyé dans l'URL ?
    Fais un "echo $login;" avant ta requête MySQL pour vérifier que la valeur est bien présente.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    C'est bien cela, il affiche le login de la personnne connectée !

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (Connexion à la base et co)
    ...
    $req = mysql_query("SELECT * FROM membre");
    while($row = mysql_fetch_array($req))
    {
    echo "<p><a href=\"email.php?login={$row['login']}\">Contacter {$row['login']}.</a></p>";
    }
    Tu as bien un code similaire dans une autre page, à partir de laquelle tu accèdes à la page d'envoi d'e-mail ?
    Montre le code PHP complet ainsi que le HTML qui en résulte stp.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    ça marche !
    Un GRAND MERCI pour ton aide, Palca.
    Bonne nuit
    Yann

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mauvaise variable de fonction
    Par joce21 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/02/2012, 20h44
  2. Réponses: 4
    Dernier message: 29/07/2009, 16h36
  3. Variables : Interprétations IE et FF
    Par olbouss dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/10/2007, 09h53
  4. Variable interprétée et un define
    Par __fabrice dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 22h55
  5. Réponses: 2
    Dernier message: 19/10/2004, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo