[PHP] mes variables de sessions ne fonctionne pas

mes variables de sessions ne fonctionne pas [PHP] - PHP - Programmation

Marsh Posté le 28-10-2003 à 22:26:22    

Voici le code qui récupéré les infos du formulaire, les tests et crée les variables de sessions.
 
// appel du script de config
require ("config.php" );
 
// affectation des variables récupérées par le formulaire
$login = $_POST['login'];
$pass = $_POST['pass'];
// connexion à la base
$db = mysql_connect("$db_host","$db_login","$db_pass" );
// sélection de la base
mysql_select_db("$db_base",$db);
// on écrit la requête
$sql = "SELECT * FROM membres
       WHERE pseudo='$login' AND pass='$pass'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affecte le résultat à la variable "affected_rows"
$affected_rows = mysql_num_rows($req);
 
// si le résultat est OK, on valide
if ($affected_rows=='1')
{
// on démarre une session
session_start();
// On enregistre les variables login et pass dans la session en cours
session_register("login" );
session_register("pass" );
header('location: test.php');
}
else
{
 
echo 'Login et Pass incorect.';
}
// fermeture de la connexion
mysql_close();
?>
 
le code de test.php
<?php
session_start();
echo $_SESSION["login"];
echo $_SESSION["pass"];
?>
 
et la rien, page blanche,   :??:  
thx;

Reply

Marsh Posté le 28-10-2003 à 22:26:22   

Reply

Marsh Posté le 28-10-2003 à 22:38:39    

1) session register ne sert à rien. Il suffit de faire : $_SESSION['truc'] = machin;
 
2) session_start() se met juste après <?php

Reply

Marsh Posté le 28-10-2003 à 22:45:21    

Nouvel essai:
<?php
// on démarre une session
session_start();
// appel du script de config
require ("config.php" );
 
// affectation des variables récupérées par le formulaire
$login = $_POST['login'];
$pass = $_POST['pass'];
// connexion à la base
$db = mysql_connect("$db_host","$db_login","$db_pass" );
// sélection de la base
mysql_select_db("$db_base",$db);
// on écrit la requête
$sql = "SELECT * FROM membres
       WHERE pseudo='$login' AND pass='$pass'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affecte le résultat à la variable "affected_rows"
$affected_rows = mysql_num_rows($req);
 
// si le résultat est OK, on valide
if ($affected_rows=='1')
{
// On enregistre les variables login et pass dans la session en cours
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header('location: test.php');
}
else
{
 
echo 'Login et Pass incorect.';
}
// fermeture de la connexion
mysql_close();
?>  
 
le code de test.php  
<?php  
session_start();  
echo $_SESSION['login'];  
echo $_SESSION['pass'];
echo 'test';  
?>
 
résultat: "test" et c'est tout.

Reply

Marsh Posté le 28-10-2003 à 22:49:12    

le problème n'est pas lié aux sessions, mais à ce que tu fais avant que ce soit avec la BDD ou ton formulaire... Cherche de ce côté...

Reply

Marsh Posté le 28-10-2003 à 23:07:27    

je développe mon site en local.
Y a t il des paramètres particulé a acvtiver dans php.ini (a part register_globals = on) ?
 
j'ai testé la bdd et le formulaire --> pas de problème.
 
 
 :??:

Reply

Marsh Posté le 28-10-2003 à 23:12:08    

teste si if ($affected_rows=='1') avec un echo avant les $_SESSION

Reply

Marsh Posté le 28-10-2003 à 23:20:29    

if ($affected_rows=='1')
{
echo 'ton login est '.$login.' et ton pass '.$pass.'<br>';
 
// On enregistre les variables login et pass dans la session en cours
$_SESSION["login"]=$login;
$_SESSION["pass"]=$pass;
 
echo 'ton pseudo'.$_SESSION["login"];
}
else
{
 
echo 'Login et Pass incorect.';
}
 
Résultat:ton login est LeLoginSaisie et ton LePassSaisie
ton pseudo LeLoginSaisie
 

Reply

Marsh Posté le 29-10-2003 à 17:30:39    

:hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed