Ik ben momenteel een inlogscript aan het maken voor een intranet pagina.
Voor het beheer heb ik een simpel inlogsysteem via sessions en mysql gemaakt.
Maar dit systeem moet groepen hebben om verschil tussen admin en editor te hebben.
Nu heb ik in de database een veld 'groupid' gemaakt waar ik met een nummer aangeef welke groep het is.
Het inlogsysteem werkte zonder groepen, maar ik krijg het niet voor elkaar om de groep te laten controleren. Als gebruiker is ingelogt kan hij overall komen ongeacht groep. Aangezien mijn php kennis nog redelijk prill ben ik bang dat ik wat over het hoofd zie. Ik hoop dat iemand me wat licht op de zaak kan schijnen
Hieronder de code:
Inlog.php
scriptje om te controleren als er ingelogt is:
Voor het beheer heb ik een simpel inlogsysteem via sessions en mysql gemaakt.
Maar dit systeem moet groepen hebben om verschil tussen admin en editor te hebben.
Nu heb ik in de database een veld 'groupid' gemaakt waar ik met een nummer aangeef welke groep het is.
Het inlogsysteem werkte zonder groepen, maar ik krijg het niet voor elkaar om de groep te laten controleren. Als gebruiker is ingelogt kan hij overall komen ongeacht groep. Aangezien mijn php kennis nog redelijk prill ben ik bang dat ik wat over het hoofd zie. Ik hoop dat iemand me wat licht op de zaak kan schijnen
Hieronder de code:
Inlog.php
PHP:
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
| <?php // starting the session session_start(); $errorMessage = ''; // specificatie of POST variables if (isset($_POST['txtlogin']) && isset($_POST['txtPassword'])) { include '../conn.php'; // loginname en password with md5 $login = $_POST['txtlogin']; $password = (md5($_POST['txtPassword'])); // check if the user id and password combination exist in database $sql = "SELECT login, groupid FROM auth_user WHERE login = '$login' AND user_password = '$password'"; $result = mysql_query($sql) or die('Query failed. ' . mysql_error()); if (mysql_num_rows($result) == 1) { // the user id and password match, $row = mysql_fetch_object($result); // set the session $_SESSION['groupid'] = $row->groupid; $_SESSION['db_is_logged_in'] = true; // hier kijk je waar de user heen gaat switch ($_SESSION['groupid']) { case 1: header('Location: index.php'); break; case 2: header('Location: index.php'); break; default: header('Location: default.php'); break; } exit(); } else { $errorMessage = 'Sorry, wrong user id / password'; } } ?> |
scriptje om te controleren als er ingelogt is:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <?php session_start(); // is the one accessing this page logged in or not and is he in the admin group? if (!isset($_SESSION['db_is_logged_in']) || ($_SESSION['db_is_logged_in'] !== true) && ($_SESSION['groupid'] == 1)) { } else { // not logged in, move to login page header('Location: login.php'); exit; } ?> |
[ Voor 15% gewijzigd door ewt op 05-12-2005 14:32 ]