Session n'autorise qu'un seul utilisateur
Posté : 21 oct. 2005, 20:25
Bonsoir,
En fesans des test sur une partie de code php (Voir ici) je viens de me rendre compte que même si j'ai plusieurs utilisateur enregistré dans la table gesten_utilisateur je n'arrive a m'hautentifier qu'avec un seul compte, je me demandais si cela pouvait provenir du code php (page login.php, en amont la page index.php avec formulaire) :
Si vous pouvez m'aider, merci d'avance
En fesans des test sur une partie de code php (Voir ici) je viens de me rendre compte que même si j'ai plusieurs utilisateur enregistré dans la table gesten_utilisateur je n'arrive a m'hautentifier qu'avec un seul compte, je me demandais si cela pouvait provenir du code php (page login.php, en amont la page index.php avec formulaire) :
<?php
// Démarage de la session
session_name('gesten');
session_start();
$loginOK = false;
// Insertion du fichier admin/conf/conf.php
include ("../../conf/conf.php");
// Sequence de verification pour la session
// Si login vide erreur = 0
if(strlen(trim($_POST['pseudo'])) < 1) {
header("Location: ../../index.php?erreur=0");
exit();
}
// Si mdp vide erreur = 1
if(strlen(trim($_POST['mdp'])) < 1) {
header("Location: ../../index.php?erreur=1");
exit();
}
// Si tout est bon
// Recherche du mot de passe en fonction du pseudo
$sql = "SELECT * FROM gesten_utilisateur WHERE PSEUDO = '".addslashes($pseudo)."'";
$req = mysql_query($sql) or die('Impossible de séléctionner les données dans la table users');
// Vérification du pseudo
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($mdp == $data['MOT_DE_PASSE']) {
$loginOK = true;
}
}
// Pseudo validé alors mise en cache de l'ID_UTILISATEUR
if ($loginOK) {
$sql2 = "SELECT g5.DROIT_GROUPE
FROM
gesten_utilisateur as g1,
gesten_utilisateur_groupe2 as g2,
gesten_utilisateur_groupe as g3,
gesten_utilisateur_groupe_droit as g4,
gesten_utilisateur_droit as g5
WHERE g1.PSEUDO ='".$pseudo."'
AND g1.ID_UTILISATEUR = g2.ID_UTILISATEUR
AND g2.ID_GROUPE = g3.ID_GROUPE
AND g3.ID_GROUPE = g4.ID_GROUPE
AND g4.ID_DROIT = g5.ID_DROIT";
$req2 = mysql_query($sql2) or die('Impossible de visualiser les droits');
// Création de la boucle qui stoque le/les droit(s) de l'utilisateur
while($data2 = mysql_fetch_array($req2))
{
$droit_groupe .= $data2['DROIT_GROUPE']." "; // Séparation par << espace >>
}
// Mise en cache des variables de sessions
$_SESSION['id'] = $data['ID_UTILISATEUR'];
$_SESSION['pseudo'] = $data['PSEUDO'];
$_SESSION['mail'] = $data['MAIL'];
$_SESSION['droit_groupe'] = $droit_groupe;
// Redirection vers le menu.php
header("Location: ../../index2.php");
} else {
// Si verification mauvaise erreur = 3
header("Location: ../../index.php?erreur=3");
}
?>
ou de la table en elle même :Code : Tout sélectionner
CREATE TABLE `gesten_utilisateur` (
`ID_UTILISATEUR` int(11) NOT NULL auto_increment,
`NOM` varchar(25) NOT NULL default '',
`PRENOM` varchar(25) NOT NULL default '',
`MOT_DE_PASSE` varchar(30) NOT NULL default '',
`PSEUDO` varchar(30) NOT NULL default '',
`MAIL` varchar(30) NOT NULL default '',
PRIMARY KEY (`ID_UTILISATEUR`)
) TYPE=MyISAM AUTO_INCREMENT=26 ;