Page 1 sur 1

Modification d'un espace membre

Posté : 17 juin 2010, 11:53
par albius
Bonjour,

Au rajout régulier de nouveaux utilisateurs, de la complexification de l'application, et de nouvelles versions prévues pour d'autres champs applicatifs, j'aimerai améliorer (voire remodeler complètement si nécessaire) le système d'identification.
Actuellement sont stockés les noms et mots de passe des utilisateurs dans une table. La reconnaissance s'effectue via un formulaire, et la personne une fois connectée est redirigée vers telles zone de l'application. l'identification procède de cette façon:
1) Une fois le formulaire validé, une requête est lancée avec les informations renseignée par l'utilisateur:
SELECT *
        FROM users
        WHERE nom ='".$nom."' AND mdp = '".$mdp."'
2) Si la requête est positive, il y a alors mise en session des informations:
 if (mysql_num_rows($requete) > 0) {
        session_start();
        $_SESSION['nom'] = $nom;
        $_SESSION['mdp'] = $mdp;
...
3) Redirection en fonction de la personne loguée:
if ($_SESSION['nom'] == 'nom1') {
            header('Location: files/admin/adminIndex.php');
            exit();
        }
elseif ($_SESSION['nom'] == 'nom2' || $_SESSION['nom'] == 'nom3') {
            header('Location: files/comptabilite/comptaIndex.php');
            exit();
        }
elseif (...) {
...
}
...
else {
            header('Location: files/formateurs/formateursIndex.php');
            exit();
        }
C'est là que le bas blesse, car je dois mettre de plus en plus de personnes et de redirection sur cette page. Comment puis-je améliorer/ optimiser cela ? En transférant ces informations dans la table par exemple ? Pour d'autres versions de l'application, ce seront des dizaines de personnes qui pourront se connecter, cela ne sera pas gérable sous cette forme...
merci,

Re: Modification d'un espace membre

Posté : 17 juin 2010, 13:38
par Nours312
salut !...

tu as plusieurs option, la plus courante étant celle des "groupes" :

- chaque personne (idMember) est lié dans une table (GroupMember) avec un groupe (idGroup)
- chaque groupe est lié avec une url de redirection (soit table différente soit directement dans la table Group)

mais si tes utilisateurs n'ont pas de raison d'etre liés à un Groupe (chacun à sa propre url de redirection) autant la mettre directement dans la table Member ...

maintenant, si tu as de nombreuses actions qui peuvent etre partagées entre les différents groupes, il serait utile de liés de façon externe (autre table) les redirections ex :: droits en écriture sur les news, modération du fofo, .. ... ..

@++