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

  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

  7. #7
    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
    Bon et bien cela ne change rien désolé!!!
    Mais est ce que mon code session_start pour ma page caché est le bon ??
    <?php
    session_start ();
    if (isset ($_SESSION['customers_login'])==false)
    {
    header ("Location: clients.php");
    }
    ?>

  8. #8
    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
    Oui la session est bonne par contre j'avais pas fait attention mais le header était mal fait :

    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("Location : espace_clients.php");
    		}else{
    			header("Location : clients.php");
    		}
    	}
    }else{
    	header("Location : clients.php");
    }
     ?>
    Mais bon jpense pas que ce sois sa mais sa coute rien de vérifier

  9. #9
    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
    oui je les avais déjà corrigé mais en effet c'est pas cela !! :/
    est ce que tu penses que y a un rapport avec le fait que mes mots de passe soit généré automatiquement?? je pense pas puisque un mot de passe reste un mot de passe mais j'essaie de recouvrir toute possibilité!! C'est le début du désespoir lol!!

  10. #10
    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
    Essaye de voir ou il s'arrête déjà avec le bout de script que jtai donné en dernier ?

  11. #11
    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
    mais en fait il me redirige sur la même page c'est comme si il ne c'était rien passer
    enfin si je voie qu'il re-charge la même page mais il renvoi systématiquement sur la page d'identification ou j'étais déjà je ne peut même pas voir ou il s'arrête!!

  12. #12
    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 ok sa change tout^^

    Fait voir la pahe de ton formulaire alors car s'il n'arrive même pas à la page php sa veut dire que sa vient du formulaire et pas du traitement.

  13. #13
    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
    voici mon formulaire!!
    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
    <FORM ACTION='customers_session.php' METHOD='POST'>
     
    					<table align="center" class="tabletext">	
    						<tr>
    						<td>Pseudo:</td>
    						<td><input type="text" name="customers_login" size=25></td>
    						</tr>
    						<tr>
    						<td>Mot de passe:</td>
    						<td><input type="password" name="customers_password" size=25></td>
    						</tr>
    						<tr>
    						<td colspan="2" align="center">
    			<br>
    			<input type="submit" value="Connection"></td>
    						</tr>
    						<tr>
     
    					</table>
    				</form>

  14. #14
    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
    Alors pas d'idée ??

  15. #15
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    met ton session_start() avans les require !

  16. #16
    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
    Cela ne fonctionne pas non plus ma page se redirige sur elle même donc bon vive la session -_-

  17. #17
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    tu utilise quoi comme exploreur?
    si IE essay de mettre ca comme 1er instruction php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('P3P: CP="CAO PSA OUR"'); //this is for that IE can use $_SESSION var

  18. #18
    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
    Et bien mon site doit etre optimisé sur les navigateur donc j'ai mis ton instruction mais cela ne change rien que se soit sous firefox ou IE!!! :/

  19. #19
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    tu peux quote le début de ton code, depuis le <?php jusqu'à ton session_start(); stp !

    je te dis ce que j'en pense dès que je voie ton mess



    edit: sinon essaye avec le code de Gaara-Manga en métant le session_start et le header que je t'ai donné en 2em et 1ere instruction réspectivement

    le tout avans même la baliste <html>

  20. #20
    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
    Je vais passer pour le boulet nationale mais je quote ?? je comprend pas ??
    Mais le session_start je dois pas le mettre dans la page ou le client s'identifie !!!?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

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