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 :

Session php qui ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut Session php qui ne fonctionne pas
    Bonjour
    je met en place une session avec formulaire d'identification!!
    j'ai cette notice
    Notice: Undefined index: customers_login in C:\Program Files\EasyPHP 2.0b1\www\clients.php on line 10
    je sais que cela veu dire que customers_login n'est pas defini mais comment je règle sa ?
    Quand je m'identifie pour accédé a la page caché et que je valide la requête sql de récupération de mot de passe et login s'affiche avec le login tapé et le mot de passe!!!
    est ce que vous avez une idée ?
    Voici le code:
    Code : PHP


    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
     
    <?php
    	require_once("lib/sql_lib.php");
    	require_once("lib/ui_lib.php");
    $login="";
    if (isset($_POST['customers_login'])) $login = trim($_POST['customers_login']);
    $pass="";
    if (isset($_POST['customers_password'])) $password = trim($_POST['customers_password']);
     
    	if($_POST["customers_login"] != "" && $_POST["customers_password"] != "")
    {
      $login     = $_POST["customers_login"] ;
      $pass      = md5($_POST["customers_password"]) ;
    	dbConnect("conf/mysql.conf");
     
    	$sql = "SELECT * FROM customers WHERE customers_login = '".$login."' AND customers_password = '".$pass."'"	;
      //exécution de la requête SQL
      $requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error()) ;
      //on récupère le résultat
      $result = mysql_fetch_object($requete) ;
      //si la requête s'est bien passée
      if(is_object($result))
      {
        session_start() ;
        //enregistrement d'une variable de session, ici le login de l'utilisateur
        $_SESSION["customers_login"] = $login ;
     
        header("espace_clients.php") ;
      }
     
      else
      {
        header("clients.php") ;
      }
    }
     
     
     
    else
    {
      header("clients.php") ;
    }
     
     ?>


    merci bonne après midi!

  2. #2
    Membre expérimenté Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Par défaut
    Jtai vite refait ton script essaye sa

    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
    <?php
    require_once("lib/sql_lib.php");
    require_once("lib/ui_lib.php");
     
    $login = isset($_POST["customers_login"]) ? $_POST["customers_login"] : "";
    $pass = isset($_POST["customers_password"]) ? md5($_POST["customers_password"]) : "";
     
    if($login != "" && $pass != "")
    {
    	dbConnect("conf/mysql.conf");
     
    	$sql = "SELECT * FROM customers WHERE customers_login = '".$login."' AND customers_password = '".$pass."'";
    	//exécution de la requête SQL
    	$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error());
    	//on récupère le résultat
    	$result = mysql_fetch_object($requete);
    	//si la requête s'est bien passée
    	if(is_object($result))
    	{
    		session_start();
    		//enregistrement d'une variable de session, ici le login de l'utilisateur
    		$_SESSION["customers_login"] = $login;
     
    		header("espace_clients.php");
    	}else{
    		header("clients.php");
    	}
    }else{
    	header("clients.php");
    }
     ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Ton script a l'air de bien marché sauf que j'ai un souci quand je me connecte il me renvoi sur la page customers_session.php et cette page c'est celle a laquelle le formulaire fait appelle pour se connecter et donc il n'affiche rien !!
    et je ne comprend pas pourquoi il ne me renvoi pas a la page espace_clients.php qui est sensé s'afficher a la connections de l'utilisateur!!!

  4. #4
    Membre expérimenté Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Par défaut
    A tu fais un test pour savoir jusqu'à ou le script arrivait il ?

    Essaye un truc du style :
    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
    <?php
    require_once("lib/sql_lib.php");
    require_once("lib/ui_lib.php");
     
    $login = isset($_POST["customers_login"]) ? $_POST["customers_login"] : "";
    $pass = isset($_POST["customers_password"]) ? md5($_POST["customers_password"]) : "";
    echo "toto1";
    if($login != "" && $pass != "")
    {
    	dbConnect("conf/mysql.conf");
     
    	$sql = "SELECT * FROM customers WHERE customers_login = '".$login."' AND customers_password = '".$pass."'";
    	//exécution de la requête SQL
    	$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error());
    	//on récupère le résultat
    	$result = mysql_fetch_object($requete);
    	//si la requête s'est bien passée
    	echo "toto2";
    	if(is_object($result))
    	{
    		echo "toto3";
    		session_start();
    		//enregistrement d'une variable de session, ici le login de l'utilisateur
    		$_SESSION["customers_login"] = $login;
     
    		//header("espace_clients.php");
    	}else{
    		header("clients.php");
    	}
    }else{
    	header("clients.php");
    }
     ?>
    Comme sa selon le toto qu'il affichera tu cibleras ton problème et tu pourras savoir ou est ce qu'il va et a quel endroit il pourrait faire cette mauvaise redirection

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    il ne m'affiche pas le toto3 mais je ne sais vraiment pas a quoi c'est du :s
    Bon maintenant il me redirige sur la page d'identification même si j'ai le bon mot de passe et le bon login!!! =(

  6. #6
    Membre expérimenté Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Par défaut
    J'ai refait ton script un peu plus comme moi jlaurais fait personnellement :
    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
    <?php
    require_once("lib/sql_lib.php");
    require_once("lib/ui_lib.php");
    $login = isset($_POST["customers_login"]) ? $_POST["customers_login"] : "";
    $pass = isset($_POST["customers_password"]) ? md5($_POST["customers_password"]) : "";
     
    if($login != "" && $pass != "")
    {
    	dbConnect("conf/mysql.conf");
    	$sql = "SELECT * FROM customers WHERE customers_login = '".$login."' AND customers_password = '".$pass."'";
    	$requete = mysql_query($sql);
     
    	if($requete)
    	{
    		if(mysql_num_rows($requete) > 0)
    		{
    			session_start();
    			$_SESSION["customers_login"] = $login;
    			header("espace_clients.php");
    		}else{
    			header("clients.php");
    		}
    	}
    }else{
    	header("clients.php");
    }
     ?>
    J'ai juste fait 2 3 modif sinon j'ai surtout enlever ton mysql_fetch_object ou je ne vois pas l'utilité vu qu'après tu rediriges vers une nouvelle page et tu ne te sert pas des données récupéré.
    Donc j'ai juste fait en sorte que s'il trouve bien un utilisateur avec le login et mdp tapé il redirige vers la page voulu

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

Discussions similaires

  1. Espace membre en PHP qui ne fonctionne pas
    Par make57 dans le forum Langage
    Réponses: 13
    Dernier message: 25/07/2014, 17h27
  2. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  3. formulaire php qui ne fonctionne pas
    Par kate59 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/04/2008, 13h40
  4. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17
  5. [Sécurité] Session qui ne fonctionne pas!!!!
    Par philippef dans le forum Langage
    Réponses: 5
    Dernier message: 27/10/2005, 17h35

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