Ik heb apache en php draaien onder netware 6.
PHP werkt opzich perfect alleen doet het zich voor dat op een random moment opeens mijn sessie verloopt.
Soms kan ik een uur in de site bezig zijn en gaat dat gewoon goed en soms is mijn sessie opeens spontaan verlopen.
Ik gebruik de volgende code voor gebruikersvalidatie:
Vervolgens heb ik een include file voor elke pagina die als volgt luid:
Om mijn server thuis (win2k apache 2) heb dezelfde problemen niet.
Iemand een idee of het aan mijn php code ligt? Of heeft het echt met de server te maken?
PHP werkt opzich perfect alleen doet het zich voor dat op een random moment opeens mijn sessie verloopt.
Soms kan ik een uur in de site bezig zijn en gaat dat gewoon goed en soms is mijn sessie opeens spontaan verlopen.
Ik gebruik de volgende code voor gebruikersvalidatie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <?php include("../includes/config.inc.php"); include("../includes/functions.inc.php"); $query = "select * from users where username='{$_POST['user']}' and password='{$_POST['pass']}'"; $result = mysql_query($query); $fetch = mysql_fetch_assoc($result); $num_rows = mysql_num_rows($result); if($num_rows > 0) { session_start(); $_SESSION['session_key'] = session_id(); $query = "insert into sessions values(NULL, {$fetch['pkUserID']}, '{$_SESSION['session_key']}', '{$_SERVER['REMOTE_ADDR']}', ". time(). ")"; mysql_query($query); header("Location: ../index.php"); } else { print("<script>alert(\"Gebruikersnaam of wachtwoord onjuist!\"); location.replace(\"../index.html\"); </script>"); die(); } ?> |
Vervolgens heb ik een include file voor elke pagina die als volgt luid:
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
| <?php session_start(); session_cache_limiter('private, must-revalidate'); if(!isset($_SESSION['session_key'])) { session_destroy(); header("Location: {$html_path}index.html"); die(); } $query = "select * from users, usergroups, sessions where users.kUsergroupID = usergroups.pkUsergroupID and sessions.kUserID = users.pkUserID and sessions.session_key = '{$_SESSION['session_key']}' order by pkSessionID desc limit 1"; $result = mysql_query($query); if(mysql_num_rows($result) < 1) { session_destroy(); header("Location: {$html_path}index.html"); die(); } $fetch = mysql_fetch_assoc($result); $_SESSION['pkUserID'] = $fetch['pkUserID']; $_SESSION['username'] = $fetch['username']; $_SESSION['fullname'] = $fetch['fullname']; $_SESSION['level'] = $fetch['level']; $_SESSION['levelname'] = $fetch['usergroup']; ?> |
Om mijn server thuis (win2k apache 2) heb dezelfde problemen niet.
Iemand een idee of het aan mijn php code ligt? Of heeft het echt met de server te maken?
Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen