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(id) bug en ligne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Par défaut Session(id) bug en ligne
    Bonjour,

    pour un script d'espace membre, la variable $_SESSION['id'] fonctionne sous wamp mais me sort un nombre fantaisiste en ligne (111)

    Je mets le bout de code de la page index où je récupère $_SESSION['id']

    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
    <?php
    session_start(); 
    // on teste si le visiteur a soumis le formulaire de connexion
       if (isset($_POST['login']) AND isset($_POST['pass'])) {
       include ('connect_db.php');
         $sql = 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
       $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
       $nb = mysql_num_rows($req);
     
             if ($nb == 1) {
             $data = mysql_fetch_array($req);
             $_SESSION['id'] = $data['id']; 
             $_SESSION['login'] = $_POST['login'];
                           include ('membres/header_location.php');
             exit();
                          }
          elseif ($nb == 0) {
             $erreur = '<span class="erreur">Mauvais identifiants</span>';
          }
          else {
             $erreur = 'Problème';
          }
    }
     
    ?>
    Ce que je capte pas c'est:
    pourquoi en ligne, il me sort que $_SESSION['id'] = 111 quelque soit le compte avec lequel je me connecte alors que sous wamp, il me met le $_SESSION['id'] du membre

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    As-tu controlé ta requête dans phpmyadmin ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Ca n'a peut être aucun rapport, mais la fonction mysql_escape_string() est obsolète, c'est mysql_real_escape_string() qui l'a remplace.

    Puis à titre personnel, j'aurais plutôt fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $sql = "SELECT COUNT(id) AS total, id
        FROM membre WHERE login = '".mysql_real_escape_string($_POST['login'])."'
        AND pass_md5 = '".mysql_real_escape_string(md5($_POST['pass']))."'";
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data = mysql_fetch_array($req);
     
        if ((int)$data['total'] === 1) {
             // Ok
        }
    Un COUNT() fera en sorte que la requête renverra obligatoirement un résultat, le nombre de ligne, et ici ça sera (ou doit être) 0 ou 1.

Discussions similaires

  1. [Toutes versions] VBA bug décalage ligne
    Par bboy-eazy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2014, 22h34
  2. [PHP 5.3] Token , session et bug incompréhensible
    Par grunk dans le forum Langage
    Réponses: 16
    Dernier message: 26/01/2013, 16h08
  3. [ZF 1.0.1] Problème de sessions après mise en ligne
    Par bend37 dans le forum Zend Framework
    Réponses: 3
    Dernier message: 05/10/2007, 17h02
  4. [Sécurité] bug avec les variables de session!
    Par ozzmax dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2005, 20h41

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