Perte des variables de sessions
Bonjour,
J'ai un petit problème lorsque je passe du script login.php au script admin.php (je mets les deux script en dessous), en faite print_r($_SESSION) dans login.php me renvois bien le tableau $data, mais print_r($_SESSION) dans admin.php ne me renvoit rien du tout ... Je ne vois absolument pas pourquoi, dans les deux script la session est ouverte, et rien ne la ferme.
Si quelqu'un à une idée, une suggestion, ou même un conseil, je suis preneur, merci d'avance :).
login.php
Code:
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 45 46 47 48 49 50 51 52 53 54 55 56
| <?php session_start(); ?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Login en cours</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="block">
<?php
if(empty($_POST['log']) or empty($_POST['pass'])) {
echo ('<p>Login ou password incorect.</p><p><a href="index.php">Retour</a></p>');
echo ('<p>CODE 002</p>');
session_unset ();
session_destroy();
exit;
}
else {
include('../inc/opendbadmin.inc.php');
$query = 'SELECT * FROM user WHERE login="'.$_POST['log'].'";';
$res = sqlite_query($db,$query);
$data = sqlite_fetch_array($res);
sqlite_close($db);
}
if (empty($data)) {
echo ('<p>Login ou password incorect.</p><p><a href="index.php">Retour</a></p>');
echo ('<p>CODE 003</p>');
session_unset ();
session_destroy();
exit;
}
elseif ($_POST['pass'] != $data['password']) {
echo ('<p>Login ou password incorect.</p><p><a href="index.php">Retour</a></p>');
echo ('<p>CODE 004</p>');
session_unset ();
session_destroy();
exit;
}
else {
$_SESSION = $data;
echo ('
<p>Vous etes identifié</p>
<p><a href="admin.php">Acceder à l\'interface</a></p>');
print_r($data);
}
?>
</div>
</body>
</html> |
admin.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php session_start(); ?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Page d'administration</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="block">
<?php
if(isset($_SESSION['id'])) {
session_destroy();
echo('tricheur ! Code: 001');
exit;
}
else {
print_r($_SESSION);
}
?>
</div>
</body>
</html> |
Le code n'est pas commenté, et je m'en excuse, toutefois voila la structure de la table "user" :
Code:
TABLE user (id INT(3), login VARCHAR(8), password VARCHAR(8), nom TINYTEXT)
Merci d'avance du temps que vous voudriez bien me consacrer.
Bastien.