mes variables de sessions ne fonctionne pas [PHP] - PHP - Programmation
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
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.
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é...
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.
Marsh Posté le 28-10-2003 à 23:12:08
teste si if ($affected_rows=='1') avec un echo avant les $_SESSION
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
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;