Bonjour à tous,
J'ai déjà demandé une aide à ce sujet mais toutes les modifs qui m'ont été conseillées ont été faites mais sans succès.
L'identification se déroule correctement a priori, c'est à partir de l'affichage de la page accueil que cela se complique, a priori elle ne détecte pas la session ouverte et n'affiche pas les variables de session. J'ai donc "Bonjour" au lieu de "Bonjour Seb".
Je vous colle mes scripts et j'attends vos remarques.
Pour ma part je n'ai pas l'impression que ce soit un souci PHP mais plutot un souci de config soit dans php.ini ou ailleurs, Qu'en pensez-vous ?
page index.php
<Html>
<Head>
<title>Bienvenue sur Planvac v1.0</title>
<link rel="stylesheet" href="pages/vac.css" type="text/css">
<script language="javascript">
function popup01(){
window.open("/pages/lostmdp.html","new","width=280,height=112,resize=no,scrollbars=no" )
}
</script>
</Head>
<body vlink="#FFFFFF">
<p align="left"><img src="Images/logo.jpg" width="140"></p><p> </p>
<p> </p>
<p align="center"><table width="70%" border="2" bordercolor="#FFFF00"><tr><td> <p align='center'><b><font size='5'>Bienvenue sur Planvac <font size="3">v</font>1.0</font></b></p> </td></tr></table>
<p> </p>
<p align="center"><table width="70%" border="2" bordercolor="#FFFF00">
<tr><td>
<form action="login.php" method="post" name="form">
<div align="center"><table width="40%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td><div align="right"><b>Login :</b></div></td>
<td><div align="left"><input type="text" name="login" value="" size="15" maxlength="15"></div></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td><div align="right"><b>Mot de passe :</b></div></td>
<td><div align="left"><input type="password" name="pass" value="" size="15" maxlength="15"></div></td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td colspan="2"><p align="center"><input type="submit" value="Connexion" name="send"></p></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td colspan="2"><p> </p>
<p align="center"><font size="2"><u><a href="javascript:popup01()">Oubli de mot de passe, cliquez ici</a></u></font></p>
</td>
</tr>
</table></div>
</form>
</td></tr></table>
</body>
</Html>
page login.php
<?
$login=$_POST['login'];
$pass=$_POST['pass'];
$db = mysql_connect ('host', 'user', 'pass');
mysql_select_db ('vac_db',$db);
if($login=='' || $pass=='')
{
include('index.php'); // On inclus le formulaire d'identification
echo '<p align="center"><font size="4" color="red"><b>Vous avez oublié de remplir un champ.</b></font></p>';
exit;
}
// on recupère le password de la table qui correspond au login du visiteur
$sql = 'SELECT id,pass,prénom FROM profils WHERE login=\''.$login.'\'';
$req = mysql_query($sql,$db) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if($data['pass'] != $pass)
{
include('index.php'); // On inclus le formulaire d'identification
echo '<p align="center"><font size="4" color="red"><b>Mauvais login / password. Merci de recommencer</b></font></p>';
exit;
}
else
{
session_start();
session_register('login');
header("Location: pages/accueil.php" );
}
?>
page accueil.php
<?
session_start();
$_SESSION['login'] = $_POST['login'];
if(!isset($_SESSION['login']))
{
header('Location: /.../index.php');
exit();
}
?>
<Html>
<Head>
<title>Accueil Planvac v1.0</title>
<link rel="stylesheet" href="vac.css" type="text/css">
</head>
<body>
<?
echo "Bonjour {$_SESSION['login']}";
?>
</body>
</html>
Donc pour vous aider, index.php est le formulaire d'authentification qui inclut login.php afin d'analyser la saisie. Puis si l'utilisateur est connu de la base alors la page accueil devrait s'afficher.
Merci d'avance