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 :

Problème script connexion session membre


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Par défaut Problème script connexion session membre
    Bonjour,

    Voilà sur mon site il y a un partie membre , avec un formulaire pour s'inscrire et se connecter. J'ai un problème avec la partie connexion . Quand j'essaye , ca me marque que je suis connecté mais aucune variable de session n'ai créer . Voila le code :

    Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form method="POST" action="connexion.php">
     
    	<label for="username" class="username">Username :</label> 
    	<input type="text" class="username" id="username" name="username" />
     
    	<label for="password" class="password">Password :</label>
    	<input type="password" class="password" id="password" name="password" />
    	<br>
    	<input type="submit" value="Login" /><br />
    </form>
    Script connexion :
    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
     
    <?php
    session_start();
    ?>
    //Du code 
    <?php
    mysql_connect('******','*****','*******') or die("erreur de connexion au serveur");
    mysql_select_db('******') or die("erreur de connexion a la base de donnees");
            //On verifie si le formulaire a ete envoye
            if(isset($_POST['username']) AND isset($_POST['password']))
            {
    		        $username = $_POST['username'];
                    $password = $_POST['password'];
     
                    //On recupere le mot de passe de lutilisateur
                    $req = mysql_query('SELECT password FROM membre WHERE username="'.$username.'"');
                    $dn = mysql_fetch_array($req);
                    //On le compare a celui quil a entre et on verifie si le membre existe
                    if($_POST['password']==$dn['password'])
                    {
    						echo 'Ok';
    						$_SESSION['username'] = $dn['username'];
    						echo '<meta http-equiv="refresh" content="2; URL=news.php">';
                    }
                    else
                    {
                            //Sinon, on indique que la combinaison nest pas bonne
                            $message = 'Erreur';
    						echo '<meta http-equiv="refresh" content="; URL=index.php">';
                    }
            }
            else
                    {       
    				echo 'Vous devez entrer tous les champs ';
    				}
    ?>
    La page qui vérifie si je suis connecter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    session_start();
    // On teste si la variable de session existe et contient une valeur
    if(isset($_SESSION['username']))
    {
     
    } 
    else
    {
      // Si inexistante ou nulle, on redirige vers le formulaire de login
      echo'<meta http-equiv="refresh" content="0; URL=index.php">';
    }
    ?>
    Donc quand j'arrive sur la 3em page , celle ou il y a le code juste au dessus , ca me redirige sur la page index.php , alors que ça ne devrait pas :s pouvez-vous m'aider ? Merci Bonne journée

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    sur la 3eme page après ton session_start fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exit(print_r($_SESSION, true));
    ps :
    - tu dois proteger tes valeurs mysql avec mysql_real_escape_string, ton code n'est pas sécurisé sinon
    - pour debuger mysql c'est avec le trace_mode donc pas de or die a faire ( de plus c'est pas die mais exit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('mysql.trace_mode', true);

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Par défaut
    Ca me marque :

    Array ( [username] => )

    La session n'ai pas créer , mais pourquoi ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    si c'est bon, mais enfaite dans ta requete tu ne va cherche que le password, donc $dn['username'], n'existe pas, rajoute username dans ton SELECT

    Quand on développe il faut absolument travailler avec le niveau d'erreur maximal

    dans ton php.ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    display_errors = On
    error_reporting = E_ALL | E_STRICT
    sinon au début de ton code faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ini_set('display_errors', true)
    error_reporting(-1);

  5. #5
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Par défaut
    Ok merci , j'avais effectivement oublier le username Merci énormément !

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

Discussions similaires

  1. [PHP] Probléme de Connexion Espace Membre
    Par Adaeria dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2009, 11h38
  2. [MySQL] Script de connexion (espace membre)
    Par razorlok dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/06/2008, 11h41
  3. problème de connexion d'utilisateur avec session
    Par jeha dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2008, 15h49
  4. [MySQL] Problème de connexion SQL depuis 1 script distant chez Free
    Par metalfire77 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/04/2006, 07h26

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