Probleme d'identification avec sessions PHP
Posté : 09 déc. 2005, 17:48
par bontbont
bonjour,
j'ai une question urgente :
je viens de mettre une ligne il y a peu mon site de petites annonces. Les gens doivent s'identifier pour poser une annonce. J'ai bien entendu utilisé des Sessions.
Après mettre identifié, une autre personne s'est aussi identifiée. J'ai actualisé ma page, et là grosse surprise je me suis retrouvé loggé avec l'identifiant de l'autre personne !!!!
C'est surement un probleme connu, si vous avez des infos je suis preneur !!
Merci à tous.
Posté : 09 déc. 2005, 17:52
par zeus
Montre nous le code que tu utilise pour valider l'enregistrement d'une personne
Posté : 09 déc. 2005, 18:10
par bontbont
voici mon code :
$loginOK = false;
// On n'effectue les traitement qu'à la condition que les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) ) {
extract($_POST);
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo_int, password_int FROM internaute WHERE pseudo_int = '".addslashes($pseudo)."' and compte_actif_int='oui'";
$req = mysql_query($sql) or die('Erreur SQL !!<br> Merci de <a href="nous_contacter.php">nous contacter</a> si le problème persiste.');
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['password_int']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo_int'];
}
?>
<table border="0" width="780" align="center">
<tr>
<td width="180" align="center">
<table border="0" align="left" width="180">
<tr>
<td>
<?
// On affiche une phrase résumant les infos sur l'utilisateur courant
if (!empty($_SESSION['pseudo']))
{
$sql_nb_eval ="select nb_eval_int from internaute where pseudo_int='".$_SESSION['pseudo']."'";
$req_nb_eval = mysql_query($sql_nb_eval) or die('Erreur SQL !!<br> Merci de <a href="nous_contacter.php">nous contacter</a> si le problème persiste.');
$data_nb_eval = mysql_fetch_assoc($req_nb_eval);
$note = $data_nb_eval['nb_eval_int'];
$pseudo = $_SESSION['pseudo'];?>
<script>
function logout_confirm()
{
var result = confirm("Voulez-vous vraiment vous déconnecter ?");
if(result == true){
document.location.href="logout.php";
}
}
</SCRIPT>
<?echo 'Bonjour <b>'.$_SESSION['pseudo'].'</b>(<font color="red"><a href="evaluations_recues_donnees.php?pseudo='.$pseudo.'" title="Nombre d\'échanges effectués">'.$note.'</a></font>)<br />
<a href="javascript:logout_confirm();" style="text-decoration:none;color:2F2FFF;"><b onmouseover="this.style.color=\'red\'" onmouseout="this.style.color=\'2F2FFF\'">se déconnecter</b></a>';
} else {
echo 'Personne non identifiée';
<?}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>