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 ;