Bonjour.
J'ai un petit problème de différenciation de connexion entre un simple utilisateur et un admin.
En effet, j'aimerai que l'utilisateur lambda, lorsque celui-ci se connecte, arrive sur sa page personnel, alors que l'admin quant à lui, lorsqu'il se connecte, arrive sur un autre page.
J'ai effectué différentes recherches sur l'inscription et la connexion d'un membre, enregistré dans une base de donnée. Mais je n'arrive pas à faire la différenciation entre un admin à qui j'ai un login spécial et un simple utilisateur. Le type de code est le suivant (il me semble l'avoir repris en partie de developpez.net) :
J'ai essayé de rajouter la condition suivanteCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?php include("mabasededonne.php"); if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { connexion(); $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); if ($data[0] == 1) { session_start(); $_SESSION['login'] = $_POST['login']; header('Location: membre.php'); exit(); } elseif ($data[0] == 0) { $erreur = 'Votre compte ou votre mot de passe est incorrect.'; } else { $erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur = 'Au moins un des champs est vide.'; } } ?>
Mais malheureusement il identifie l'admin comme un utilisateur normal, il ne fait pas attention à la seconde condition et prend que la première condition en compte.Code:
1
2
3
4
5
6
7
8
9
10 <?php if ($data[0] == 1) { session_start(); $_SESSION['login'] = 'admin'; header('Location: admin.php'); exit(); } ?>
Que faire, une idée ?
