Probleme de session

P_W
Eléphanteau du PHP | 13 Messages

13 juin 2011, 15:39

Bonjour à tous,

Voila j'ai un petit pb de session, j'utilise une page html avec le formulaire pour envoyer le log et le pass a ma page de test .
Dés le début de ma feuille de test du log et du pass j'utilise --> print_r($_SESSION); pour voir le log et le pass.

Petit probleme c'est qu' il n'affiche rien du tout et donc ma connection est refusée .. Quelqu'un aurait une idée ?
( j'ai bien sur mis en début de page session_start(); :lol: )

Eléphant du PHP | 209 Messages

13 juin 2011, 15:58

log et pass ? C'est le login et le password ?

Ce n'est pas plutôt dans $_GET ou $_POST s'ils proviennent d'un formulaire ?

Autres pistes : les sessions sont écrites dans un fichier ? le répertoire est-il autorisé en lecture ?
--
Eric

P_W
Eléphanteau du PHP | 13 Messages

13 juin 2011, 19:01

Alors oui c'est le login et le password ..

J'ai essayé de définir de cette facon si j'ai bien compris ta phrase : $_POST['log'] = $_SESSION['login']; $_POST['pass'] = $_SESSION['password']; ?

Les sessions sont juste sur une autre feuille, tout devrait normalement marcher je pense plutôt que j'ai un pb d'initialisation de la session ..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 juin 2011, 19:10

salut,

on peux voir le code histoire de pouvoir t'aider? :)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 209 Messages

14 juin 2011, 09:59

J'ai essayé de définir de cette facon si j'ai bien compris ta phrase : $_POST['log'] = $_SESSION['login']; $_POST['pass'] = $_SESSION['password']; ?
Heuh.... non, pas du tout, est-ce que tu as fait un print_r($_POST) car c'est surement dans $_POST que ce trouve tes informations (ou dans $_GET).

Mais avec ton code, ca serait plus facile.
--
Eric

P_W
Eléphanteau du PHP | 13 Messages

14 juin 2011, 20:13

Yop, et voila
<?php

 // ON RECUPERE L'IDENTIFIANT & LE MOT DE PASSE 
 session_start();

	
    		
    		$login = $_SESSION['log'];
    		$password = $_SESSION['pass'];
    		
    		print_r($_SESSION);


           
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass ='root';
$dbname='NII';


  // CONNECTION LOCALHOST AVEC IDENTIFIANT & MOT DE PASSE
  //CONNECTION BASE DE DONNEE

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname)or die ("Impossible de se connecter à la base de données.");

  //REQUETE DE COMPARAISON SQL

$requete = "SELECT * FROM teste  WHERE login='$login' AND password='$password'";
     $result = @mysql_query($requete);
 
       if ($enreg = mysql_fetch_array($result))
    
    // SI UNE LIGNE EST TROUVER LA REQUETE EST VALIDE
             

    	{
    		
    		
    		    		
    		    		header('Location: admin.php');
    	}
    else
    	{
    		echo "connection refusée";
    	}
             
?>    
Modifié en dernier par P_W le 14 juin 2011, 20:14, modifié 1 fois.

P_W
Eléphanteau du PHP | 13 Messages

14 juin 2011, 20:13

Yop, et voila
<?php

 // ON RECUPERE L'IDENTIFIANT & LE MOT DE PASSE 
 session_start();

	
    		
    		$login = $_SESSION['log'];
    		$password = $_SESSION['pass'];
    		
    		print_r($_SESSION);


           
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass ='root';
$dbname='NII';


  // CONNECTION LOCALHOST AVEC IDENTIFIANT & MOT DE PASSE
  //CONNECTION BASE DE DONNEE

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname)or die ("Impossible de se connecter à la base de données.");

  //REQUETE DE COMPARAISON SQL

$requete = "SELECT * FROM teste  WHERE login='$login' AND password='$password'";
     $result = @mysql_query($requete);
 
       if ($enreg = mysql_fetch_array($result))
    
    // SI UNE LIGNE EST TROUVER LA REQUETE EST VALIDE
             

    	{
    		
    		
    		    		
    		    		header('Location: admin.php');
    	}
    else
    	{
    		echo "connection refusée";
    	}
             
?>    

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 juin 2011, 20:16

heu ben la c'est pas possible ta session est pas "peuplée" car tu n'a pas encore validé le formulaire, si tu fait ça sur une page après tu n'aura pas ce soucis ;)

un tuto qui fait ce que tu veux : http://www.phpdebutant.org/article69.php


@+
Il en faut peu pour être heureux ......

P_W
Eléphanteau du PHP | 13 Messages

17 juin 2011, 10:05

C'est à dire peuplée ?

Je commence a lire le tuto, merci pour le lien !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 juin 2011, 10:10

en fait ton code est pour une validation de formulaire mais il n'utilise pas les info fournit par un formulaire mais d'une session.

remplace $_SESSION par $_POST dans les deux première affectation et ça ira mieux (si bien entendu ton formulaire est en methode post).

pour mieux t'aider il faudrait que tu nous montre le formulaire de connexion ;)

a tu compris le tuto ?

@+
Il en faut peu pour être heureux ......