Page 1 sur 1

Variables de session

Posté : 12 oct. 2005, 17:13
par tibougnat
Bonjour,
J'essaye de faire passer des sessions d'une page à une autre et elles ne passent pas mais je ne vois pas pourquoi

page 1:
 //tests sur le login et mdp
// si c bon :
 session_start();
$_SESSION['login'] = $login;	
$_SESSION['mdp'] = $mdp;	
//à ce moment là $_SESSION['login'] et $_SESSION['mdp'] s'affichent
header("Location:admin2.php");

page admin2:
session_start();
echo $_SESSION['login'];
//pas d'affichage
Si quelqu'un voit d'ou ça peut venir ça me rendrait un grand service..
merci d'avance

Posté : 12 oct. 2005, 17:26
par zeus
D'où viennent $login et $mdp ?

S'ils ne sont pas instanciés avant, tu n'attribueras rien à tes variables de session
//tests sur le login et mdp
// si c bon :
session_start();
$_SESSION['login'] = "login";    
$_SESSION['mdp'] = "mdp";    
//à ce moment là $_SESSION['login'] et $_SESSION['mdp'] s'affichent
header("Location:admin2.php");

Posté : 12 oct. 2005, 17:30
par tibougnat
En fait je l'ai pas écris ici mais ces deux variables viennent du formulaire d'authentification

Code : Tout sélectionner

<FORM ACTION="admin_verif_connect.php" METHOD="POST"> Veuillez saisir vos identifiants< Login ::<INPUT TYPE="text" NAME="login"> Password ::<INPUT TYPE="password" NAME="mdp"> <INPUT TYPE="submit" VALUE="OK"> </FORM>
la page1 du post ci dessus c'est admin_verif_connect.php de celui ci
admin_verif_connect
<?
	include("connexion.php");
		connexion('base1');
	if(empty($_POST['login']) || $_POST['login']=="")
	{
		header("Location: admin.php?erreur=login");
		exit();	
	}
	if(empty($_POST['mdp']) || $_POST['mdp']=="")
	{
	header("Location: admin.php?erreur=mdp");
	exit();	
	}
	$login=$_POST['login'];
	$mdp=md5($_POST['mdp']);

$sql="SELECT * FROM logs WHERE login='$login' AND mdp='$mdp'" ;
$result=mysql_query($sql) or die ('erreur $sql : '.mysql_error()) ;
$rows=mysql_num_rows($result);	
	if($rows == 1)
	{
		session_start();
		$_SESSION['login'] = $login;	
		$_SESSION['mdp'] = $mdp;	
		header("Location:admin2.php");	
	}
	else
	{
		header("Location:admin.php?erreur=id");
	}
?>

Posté : 12 oct. 2005, 17:36
par heddicmi
Peut-être est-ce du au fait que tu ne place pas session_start() en début de script...

La logique veux que ce soit le cas, tout du monde que tu le place avant tout affichage HTML... Un peu comme pour un header...

A priori, il pourrais y en avoir avec l'include("connexion.php")...

Enfin dans le doute, fait toujours :
<?
session_start();
...
...

Posté : 12 oct. 2005, 17:39
par tibougnat
ça marche pas mieux si je le met en debut de fichier :(

Posté : 12 oct. 2005, 17:45
par heddicmi
Et tu es bien redirigé vers admin2.php (Tu passes bien dans le IF($rows==1) :?: )

Si oui, affiche entièrement admin2.php...

Posté : 12 oct. 2005, 17:54
par tibougnat
ouaip ça passe bien pas admin2

voici la page :
<?
session_start();

echo $_SESSION['login'];
	include("admin_SECU.php");
	include('connexion.php');
		connexion('base1'); 
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body vlink="#990000" alink="#990000" link="#000000">
blablabla
</body>
</html>
et admin_SECU tant que j'y suis :
	session_start();	
	if(!isset($_SESSION['login']))
	{
		echo 'pb de login';
	}
	elseif(!isset($_SESSION['mdp']))
	{
		echo 'pb de mdp';
	}		
	else
	{
	}

Posté : 12 oct. 2005, 17:58
par tibougnat
info de dernière minute : ça marche sous FF...

Posté : 12 oct. 2005, 18:10
par heddicmi
Alors là, je sèche...

Ton :
echo $_SESSION['login'];
affiche qqc sous FF et pas sous IE...

Regarde dans la source de la page dans IE voir si le login n'apparait pas tout de même...

Posté : 12 oct. 2005, 18:14
par tibougnat
non ça s'affiche meme pas dans la source...
je sèche aussi.. c la première fois que ça m'arrive...

Posté : 12 oct. 2005, 19:59
par Invité
SAlut, problème de cookie peut etre :-k
est ce que tu les accepte ?

Posté : 17 oct. 2005, 16:03
par tibougnat
je pense qu'ils sont acceptés car sur d'autre site je n'ai jamais eu de problème de log...

Posté : 18 oct. 2005, 10:27
par mere-teresa
Tu as bien vidé ton cache sous IE ? ton historique ? etc... ?

Posté : 18 oct. 2005, 22:48
par Invité
:idea: euh juste comme ça c'est quelle version de php ?