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 :

Probleme PHP , SESSION


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut Probleme PHP , SESSION
    Bonjour j'ai un probleme j'ai créer des sessions ou dans ma table Correspondant il y a un nom et un mot de passe ...toute fois lorsque je rentre le login et le mot de passe , ca me redirige toujour vers ma page connexionfaux.php ( Comme si ca ne fonctionai pas )!
    Je met presque la totalité pour que ca soit plus simple !

    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
     
    $loginOK = false;
    //récup indentifiant et mdp  en suprimant espace parasite 
    $login = trim($_POST['user']);
    $pass = trim($_POST['mdp']);
     
    //verification si tout est bien rempli
     
    if (!empty($login) && !empty($pass))
     
    {
     
    $req = " select nom , motdepasse  from correspondant where Nom='".$login."' and motdepasse='".$pass."'";
     
    $cherche =mysql_query($req) or die ('erreur identification');
     
    $trouve = mysql_fetch_assoc($cherche);      //récup donnée dans un tableau ( associatif)
     
    	//verif mot de pass
     
    	if(($trouve['motdepasse']==$pass) && ($trouve[nom]==$login))
    		{
    	$loginOK = true;
    		};
    };
     
    if($loginOK == true)
    {
    	session_start();
    	$_SESSION['nom'] = $trouve['nom'];
    	$_SESSION['mdp'] = $trouve['motdepasse'];
    	header('location: demarage.php');
    }
    else
    {
    require('connexionfaux.php');
    };

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    s'lt! d'abord je pense qu'il y a dans ton code des verif inutiles.
    essai le code suivant
    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
    <?php
     ..............
     if (!empty($login) && !empty($pass))
     {
     $loginOK = false;
     $req = " select nom , motdepasse  from correspondant where Nom='".$login."' and motdepasse='".$pass."'";
     $cherche =mysql_query($req) or die (mysql_error().'erreur identification');
     if (mysql_num_rows($cherche)==1){
         $loginOK = true;
             session_start();
         $_SESSION['nom'] = $login;
         $_SESSION['mdp'] = $pass;
         header('location: demarage.php');
     }else{
     require('connexionfaux.php');
     }
     ?>

  3. #3
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    erf, j'avais pas vu que j'avais la mme chose qu'au dessus.

    Je le plussoie ^^

  4. #4
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Lut,

    Peut-être que ça vient de ta requête , je vois que tu utilises nom et Nom, pour désigner le même champs, si ta base est sensible à la casse ça peut créer un problème, mieux vaut nommer correctement,à la majuscule près, tes champs.

    Sinon ton script me pairait bizarre, tu vérifis 2 fois le couple login / mot de passe , une premiere fois dans la requete et une seconde fois en comparant le resultat de ta requete, or deja si ta requete renvoi des resultats c'est que le login / MDP est correct , on est d'accord ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    Ouaip NOT , on est dacord lol

    bah maintenant j'ai re fait ce que vous mavez dit ...donc j'ai ca

    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
     
     if (!empty($login) && !empty($pass))
     {
     $loginOK = false;
     $req = " select nom , motdepasse  from correspondant where Nom='".$login."' and motdepasse='".$pass."'";
     $cherche =mysql_query($req) or die (mysql_error().'erreur identification');
    	if (mysql_num_rows($cherche)==1)
    	{
         $loginOK = true;
             session_start();
         $_SESSION['nom'] = $login;
         $_SESSION['mdp'] = $pass;
         header('location: demarage.php');
    	}
    		else
    		{
     require('connexionfaux.php');
    		}
    }
     ?>
    Mais ca menvoie sur une page blanche....

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    ca me met une erreur au niveau de session_start()
    et les deux lignes d'apres...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    Alo alo lol
    Maintenant ca fonctione quand jenleve le session_start() , mai kan jle met ca marche pas....coment faire

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,
    quel est le message d'erreur?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    le voici

    Notice: A session had already been started - ignoring session_start() in c:\program files\easyphp1-8\www\demarage.php on line 2

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    J'ai trouvé un sujet qui parle de ça. ICI

    Il dit qu'il faut faire un test comme ça pour éviter le "ignoring session_start()":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
        if ( !isset ( session_id() ) )
        {
        session_start() ;
        }
    ?>
    De toute façon, vérifie que tu ne fais pas un session_start() avant celui-ci(ptêt dans un include) et enlève-le s'il n'est pas nécessaire.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    Ca fonctione , mais quand le mec dit qu'il faut écrir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
        if ( session_id() == '' )
        {
        session_start() ;
        }
    ?>
    Il faut lécrire tel kel ....? en gro , session_id c un code de language ou c une variables défini dans ma page connexion ...?

  12. #12
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Oui, c'est bien une fonction php

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/10/2008, 02h04
  2. probleme php/posgresql
    Par voyageur dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 06/11/2004, 21h58
  3. [VB.Net] Problème de Session
    Par theartist dans le forum ASP.NET
    Réponses: 7
    Dernier message: 09/09/2004, 17h06
  4. Problème de session sous Konqueror
    Par Escuzze dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/07/2004, 12h52
  5. [C#] Probleme de session
    Par alexischmit dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/04/2004, 17h33

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