Bonjour,
j'ai un problème qui m'empêche d'avancer.
J'ai crée une source de donnée odbc pour sql server.
J'ai crée ma base de données
Lorsque je me connecte la connexion se fait apparemment vu que lorsque je fais le test
j'ai le message connexion ok qui s'affiche donc c'est que la connexion se fait bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php session_start(); $connex = odbc_connect("geststockmazars","",""); // TEST DE CONNEXION A LA TABLE (enlever les /* */) IF(!$connex) echo "PROBLEME à la connexion<br />"; else echo "Connexion OK"; ?>
Maintenant quand j'essaie de me connecter je passe tjs dans la boucle qui me met que mon mot de passe est mauvais. :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) { extract($_POST); $pass=sha1($pass); // on crypte le mot de passe tapé en sha1 $con = odbc_connect("geststockmazars","",""); // on se connecte à la base de données $sql = " SELECT id,statut FROM users WHERE login='$login' and pass='$pass'"; // on effectue la requête sql $req = odbc_do($con, $sql); // on teste le nombre de résultat if(odbc_num_rows($req)>0) { // s'il est supérieur à 0 c'est que l'utilisateur existe $data= odbc_fetch_array($req); // on créé un tableau de session où on stocke les différentes informations $_SESSION['Auth'] = array( 'login' => $login, 'pass' => $pass, 'statut' => $data['statut']); //on teste si il est admin ou non et en fonction de cela on le redirige if($_SESSION['Auth']['statut'] == 'admin') { header('Location:pageprivee.php'); } else { header('Location:pagepublique.php'); } } else { // si pas de résultat c'est que les identifiants sont incorrectes header('location:erreurlog.php'); } }
mon fichier auth.php si vosu le souhaitez :
BIen sur ma table users existe dans sql server et les champs spécifiés dan sla requête aussi.
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
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
43
44
45
46
47
48
49
50
51
52
53
54
55 <?php Class Auth{ static function isLogged() { if(isset($_SESSION['Auth']) && isset($_SESSION['Auth']['login']) && isset($_SESSION['Auth']['pass']) ) { extract($_SESSION['Auth']); $con = odbc_connect("geststockmazars","",""); $sql = " SELECT id from users where login='$login' and pass='$pass'"; $req = odbc_do($con, $sql); if(odbc_num_rows($req)>0) { return true; } else { return false; } } else { return false; } } static function isAdmin() { if(isset($_SESSION['Auth']) && isset($_SESSION['Auth']['login']) && isset($_SESSION['Auth']['pass']) ) { extract($_SESSION['Auth']); $con = odbc_connect("geststockmazars","",""); $sql = " SELECT statut from users where login='$login' and pass='$pass'"; $req = odbc_do($con, $sql); if($req='admin') { return true; } else { return false; } } else { return false; } } } ?>
Si vosu avez des questions n'hésitez pas.
Partager