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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.