à toutes et à tous,

Mise en situation :


J'ai créé un espace membre. Je me connecte SANS problème à l'espace membre. Les login et mot de pass sont dans une base SQL (requete voir fichier connexion.php)

Dans le fichier index.php (deuxieme code) j'inclus mon fichier (debut du code) de connexion.php si le formulaire a été remplis.

Mon problème :

La commande suivante est executée vue que la réponse de la base sql est 1 (partie du fichier connexion.php)

if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];

header("Location: phpinfo.php");
exit;

Ensuite une fois rediriger vers la page phpinfo.php le code suivant est executé et je me fait rediriger vers index.php alors que le code cidessu à été executé

session_start() ;
// on vérifie si l'utilisateur est identifié
if ( !isset( $_SESSION['login'] )) {
// la variable de session n’existe pas,
// donc l'utilisateur n'est pas authentifié
// On redirige sur la page permettant de s’authentifier
header('Location: index.php') ;
// on arrête l'exécution
exit() ;
}
La question :

Quel est le problème ?


=======Les différents scripts============

fichier "connexion.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
<?php
// on teste si le visiteur a soumis le formulaire de connexion
	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
 
        $base = mysql_connect('xxxx', 'root', 'xxxx'); 
        mysql_select_db ('phpbb', $base);
 
        // on teste si une entr&eacute;e de la base contient ce couple login / pass
        $sql = 'SELECT count(*) FROM phpbb_users  WHERE username ="'.addslashes($_POST['login']).'" AND user_password ="'.md5(addslashes($_POST['pass'])).'"';
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data = mysql_fetch_array($req);
 
        mysql_free_result($req);
        mysql_close();
 
        // si on obtient une r&eacute;ponse, alors l'utilisateur est un membre
        if ($data[0] == 1) {
			session_start();
			$_SESSION['login'] = $_POST['login'];
 
			header("Location: phpinfo.php"); 
            exit;
        }
        // si on ne trouve aucune r&eacute;ponse, le visiteru s'est tromp&eacute; soit dans son login, soit dans son mot de passe
        elseif ($data[0] == 0) {
            $erreur = '<b><font color="#FF0000">Compte non reconnu.</font></b>';
        }
        // sinon, alors la, il y a un gros probl&egrave;me :)
        else {
            $erreur = '<b><font color="#FF0000">Prob&egrave;me dans la base de donn&eacute;es : plusieurs membres ont les m&ecirc;mes identifiants de connexion.</font></b>';
        }
    }
    else {
        $erreur = '<b><font color="#FF0000">Au moins un des champs est vide.</font></b>';
    }
 
?>
fichier "index.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
 
// on teste si le visiteur a soumis le formulaire de connexion
 
if(isset($_POST['submit_connexion']) && ($_POST['submit_connexion'] == 'connexion'))
{
	include('script/connexion.php');
}
 
// on teste si le visiteur a soumis le formulaire d'inscription
 
if (isset($_POST['inscription']) && ($_POST['inscription'] == 'Inscription')) 
{
	include('script/inscription.php');
}
?>
<html>
<head>
	<title>Accuille</title>
	<link rel="stylesheet" type="text/css" href="styles.css">
 
</head>
<body bgcolor=#FFFFFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 background="images/main_bg.jpg">
 
 
<br>
<!--------------------->
<!-- Tableau de haut -->
<!--------------------->
<table width="90%" height="80" border="3" align="center" bgcolor="#DEDEDE" background="images/tabhaut.jpg"> 
	<tr>
  		<td>
		</td>
	</tr>
</table>
<br>
<table width="90%" height="85%" align="center" id="2-1234">
	<tr>
		<td width="250" height="100%"  valign="top">
			<!------------------------->
			<!-- Tableau de droite 1 -->
			<!------------------------->
			<?php include("include/liens.php"); ?>
 
			<table height="5" width="250">
				<tr>
					<td>
					</td>
				</tr>
			</table>
			<?php include("include/google-shearch.php"); ?> 
		</td>
 
		<td width="20" height="100%"></td>
 
		<!------------------------->
		<!-- Tableau de gauche 1 -->
		<!------------------------->
		<td width="100%" height="100%" valign="top">
 
			<table  width="100%" height="100%" border="3" bgcolor="#DEDEDE">
				<tr>
					<td valign="top">
					 	<div align="center">
					 		<a href="http://fredericbalon.be/sms.php"><img src="http://fredericbalon.be/smsfree2.jpg"/></a>
						</div><br>
						extranet<br>
					</td>
				</tr>
			</table>
 
		</td>
 
		<td width="20" height="100%">
		</td>
 
		<td width="250" height="100%" valign="top">
		<!------------------------->
		<!-- Tableau de gauche 2 -->
		<!------------------------->	
			<table width="250" height="50" border="3" bgcolor="#DEDEDE" align="center">
					<tr>
						<td align="center" valign="middle">
							<form method="post" action="index.php">
								  <?php include(dirname(__FILE__).'/include/connexion_form.php'); ?> 
							</form>
						</td>
					</tr>
			 </table>
fichier "phpinfo.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
<?php 
session_start() ; 
// on vérifie si l'utilisateur est identifié 
if ( !isset( $_SESSION['login'] )) { 
	// la variable de session n’existe pas, 
	// donc l'utilisateur n'est pas authentifié 
	// On redirige sur la page permettant de s’authentifier 
	header('Location: index.php') ; 
	// on arrête l'exécution 
	exit() ; 
}
 
phpinfo();
 
?>