j' ai réalisé un petit site ou il y a une partie privée.
J' ai donc fait vite fait un systeme de log avec sessions, d' habitude ca marche bien, et la non, je ne vois pas le souci, si vous pouviez jeter un oeil.
J' ai donc:
header.php
menu.php
index.php
Les trois ont un session_start;
Les deux premiers sont en include dans index.php.
Voici donc mon code qui fonctionne, sauf qu' au final il devrait dire "bienvenue pseudo', hors le formulaire reste en place. Je rapelle que si la session existe, il y a 'bonjour pseudo', sinon on affiche le formulaire. Hors il me dit bien 'connexion reussie', puis retour case depart. Voici ma page:
<?php
session_start;
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$mdp = mysql_real_escape_string(htmlspecialchars($_POST['mdp']));
$quete = mysql_query('SELECT pseudo, mdp FROM membres WHERE pseudo="' . $pseudo . '"'); // Si possible, remplace l'étoile par le nom de tous les champs voulus (ici, que "mdp" apparement)
$nbre = mysql_num_rows($quete);
$donnees = mysql_fetch_assoc($quete);
if ($pseudo != NULL)
{
if($nbre != 0) //si le pseudo existe
if($mdp == $donnees['mdp'])
{
echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph"> </td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Connextion réussie !</span></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><meta http-equiv="Refresh" content="1;URL=index.php"><br /><br /><br /><br />';
}
else
{
echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph"> </td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Mauvais identifiants !</span></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><meta http-equiv="Refresh" content="1;URL=index.php"><br /><br /><br /><br />';
}
else{
echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph"> </td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Pseudo inéxistant !</span><meta http-equiv="Refresh" content="1;URL=index.php"></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><br /><br /><br /><br />';
}
}
?>
<table width="280" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" class="ph"> </td>
</tr>
<tr>
<td height="19" class="pm">
<?php
if(isset($_SESSION['pseudo']))
{
echo '<table width="240" border="0" align="center" cellpadding="0" cellspacing="0"><tr>
<td><div align="center">Bienvenue, ';
echo $_SESSION['pseudo'];
echo '</div></td>
</tr>
</table>';
}
else
{
echo '<form name="log" method="post" action="">
<table width="240" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">Connection pour l\' accés compet. </div></td>
</tr>
</table>
<br />
<table width="192" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="91" align="left" valign="middle">Pseudo : </td>
<td width="159" height="25" colspan="2" align="right" valign="top">
<input name="pseudo" type="text" size="15"/></td>
</tr>
<tr>
<td align="left" valign="middle">Passe : </td>
<td height="25" colspan="2" align="right" valign="top">
<div align="right">
<input name="mdp" type="password" size="15"/></div>
</td>
</tr>
</table>
<br />
<div align="center"><input border="0" src="images/main/submit.png" alt="" type="image" Value="submit"></div>
</form>';
}
?>
</td>
</tr>
<tr>
<td height="20" class="pb"><a class="admin" href="admin/liste_news.php"></a></td>
</tr>
</table>
Merci pour votre aide parce que d' habitude je n' ai pas de souci avec les sessions mais la je plante :/