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:
2) Si la requête est positive, il y a alors mise en session des informations:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM users WHERE nom ='".$nom."' AND mdp = '".$mdp."'
3) Redirection en fonction de la personne loguée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (mysql_num_rows($requete) > 0) { session_start(); $_SESSION['nom'] = $nom; $_SESSION['mdp'] = $mdp; ...
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 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(); }
merci,
Partager