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

Langage PHP Discussion :

Session problème de récupération d'un champ


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut Session problème de récupération d'un champ
    Bonjour,

    Quand l'utilisateur est authentifier je voudrais récupérer le champ "nom" correspondant au login de la TABLE, mais pour une raison que je ne comprend pas cela ne fonctionne pas je vous montre ma page d'identification, et la page ou je voudrais faire appel au champ nom.
    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
     
    // on teste si une entrée de la base contient ce couple login / pass 
            $sql = 'SELECT url,nom FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"'; 
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
            $data = mysql_fetch_array($req); 
            $nom = $data ['nom']; 
     
            mysql_close(); 
     
            // si on obtient une réponse, alors l'utilisateur est un membre         
            if (mysql_num_rows($req) == 1) { 
                session_start(); 
                $_SESSION['login'] = $_POST['login']; 
                $_SESSION['nom'] = $nom; 
                //'url' = adresse du champ "nom" correspondant au login de session de la TABLE membre 
                $url = $data['url']; 
                header('Location:'.$url); 
                exit(); 
            }
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php 
    session_start(); 
    if (!isset($_SESSION['login']) && !isset($_SESSION['nom'])) { 
        header ('Location: index.php'); 
        exit(); 
    } 
    ?> 
     
    <html> 
     
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
    <meta http-equiv="Content-Language" content="fr-be"> 
    <title>Prestations du jour !</title> 
    <style> 
    <!-- 
    .smallfont 
    { 
        font: 9px verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; 
    } 
    --> 
    </style> 
    </head> 
     
    <body background="img/grd-4px.gif" style="background-attachment: fixed"> 
     
    <table border="0" id="table1" width="1240"> 
        <tr> 
            <td> 
            <p align="center"><font color="#0000FF" size="7"></font></p> 
            </td> 
        </tr> 
        <tr> 
            <td><font size="2"></font></td> 
        </tr> 
        <tr> 
            <td><font size="2"></font></td> 
        </tr> 
        <tr> 
            <td><font size="2">Tél : 0000000000</font></td> 
        </tr> 
    </table> 
    <table border="0" id="table2" width="1240"> 
        <tr> 
            <td> 
            <p align="center"><font size="4">Encodage des prestations <font color="#FF0000">tvc</font>@ble<font color="#FF0000">net</font> 
            du jour.</font></p> <? 
             echo "bonjour,".$_SESSION['nom']."" ; 
              ?>
    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Est tu sur que $nom est bien défini quand tu retournes un résultat ?

    Avec un echo $nom ça donne quoi ? (en mettant ton header en commentaire)

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    je pense même que ta requete n'est pas bien écrite en faite il faudrai mieux faire ainsi je pense:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $sql = 'SELECT url,nom FROM membre WHERE login=\''.addslashes($_POST['login']).'\' AND pass_md5=\''.md5(addslashes($_POST['pass'])).'\'';

  4. #4
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Je trouve ça plus facile à lire comme ça mais il est vrai que la requête sur des strings en double quote c'est pas dit que la BDD aime...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT url,nom FROM membre WHERE login='".addslashes($_POST['login'])."' AND pass_md5='".md5(addslashes($_POST['pass']))."'";

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    je sais plus qui sur ce forum avait fait des test sur ta façon d'écrire et la mienne, guitou12.

    en il en ai arriver à la conclusion qu'avec ta façon d'écrire le temps d'éxécution s'éleve à x2 presque par rapport à la mienne.

    enfin là n'est pas le sujet, mais voilà pour l'info. Apres si tu fait des site à faible trafic çà passe très très bien dans les 2 cas

    lol en plus c'est bien ce que tu dit dans ta signature non ?

  6. #6
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par maximenet
    je sais plus qui sur ce forum avait fait des test sur ta façon d'écrire et la mienne, guitou12.

    en il en ai arriver à la conclusion qu'avec ta façon d'écrire le temps d'éxécution s'éleve à x2 presque par rapport à la mienne.

    lol en plus c'est bien ce que tu dit dans ta signature non ?
    Ce qui est dit dans ma signature c'est qu'il faut concaténer les variables et pas les coller directement dans la chaine, par contre dans ton exemple je trouve (et c'est mon avis que c'est pas forcément super lisible d'avoir des \' qui trainent un peu partout alors il faut s'adapter suivant le besoin (balise html, php pur etc etc) afin d'avoir un code le plus lisible et compréhensible possible.) D'ailleurs il ya un bout de FAQ la dessus Chapitre 2 lisibilité du code

    Chapitre 3 : temps d'éxécution

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    oui c'est bien çà que j'avais lu également en faite.

    moi j'ai prix l'habitude de toujours sortir les variable et de n'utiliser que des simple ', question d'habitude peut etre

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

Discussions similaires

  1. Problème de récupération avec un champ date
    Par yannick63 dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/01/2010, 17h34
  2. problème de récupération d'un champ du datagrid
    Par ecko772 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/05/2008, 12h18
  3. Réponses: 17
    Dernier message: 22/08/2007, 14h21
  4. [TIBSQL] Problème de récupération d'un champs
    Par TitiFr dans le forum Bases de données
    Réponses: 6
    Dernier message: 07/08/2005, 13h33

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