Ik heb op elke pagina een session_start(); en op de pagina zelf een login included die tevoorschijn komt wanneer de $_SESSION['username'] leeg is. Wanneer ik inlog gaat het goed en wordt de gebruiker herkend. Echter wanneer ik op een link druk op de pagina dan is de sessie direct expired en wordt de $_SESSION['username'] niet meer herkend. Wat zou hiervan de oorzaak zijn? Ik heb gezocht naar expiren van sessies maar was onduidelijk.
Hier is het login script:
Heeft iemand een idee?
Alvast bedankt!
Rob
[edit]
Rar bestand voor de geintresseerde http://demo.wti.nl/rob/pcwijzer.rar
Hier is het login script:
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
46
47
48
49
50
51
52
53
54
55
| session_start(); // Declaratie Database connectie include("_connect.php"); // controleer of pagina correct is aangeroepen. if (!empty($_POST)) { $query = "SELECT userId, username, password, level FROM user WHERE username = '".$_POST['username']."'"; $result = mysql_query($query) or die("Error: " . mysql_error()); if(@mysql_num_rows($result) > 0){ while ($row = mysql_fetch_array($result)){ // converteer het password naar md5 encryptie if (md5($_POST['password']) != $row['password']) { echo "<p>Het wachtwoord klopt niet, probeer opnieuw.</p>"; } else { $userId = $row['userId']; $username = $row['username']; $level = $row['level']; // sla deze vervolgens op in een sessie $_SESSION['userId'] = $userId; $_SESSION['username'] = $username; $_SESSION['level'] = $level; } } } else { echo "<p>De gebruikersnaam bestaat niet</p>"; } } // controle of sessionvariable $_SESSION["username"] is gevuld if (!isset($_SESSION["username"])) { ?> <b>U bent niet ingelogd</b> <form name="loginForm" method="post" action="login.php"> <table border="0" cellpadding="0" cellspacing="0" > <tr> <td>Username:</td> <td><input name="username" type="text" size="10" maxlength="20" ></td> </tr> <tr> <td>Password:</td> <td><input name="password" type="password" size="10" maxlength="20" ></td> </tr> <tr> <td colspan="2"><input type="submit" value="login" ></td> </tr> </table> </form> <a href="default.php?mod=reg">Nog niet geregistreerd?</a> <?php } else { echo "U bent ingelogd, ".$_SESSION['username']; } |
Heeft iemand een idee?
Alvast bedankt!
Rob
[edit]
Rar bestand voor de geintresseerde http://demo.wti.nl/rob/pcwijzer.rar
[ Voor 20% gewijzigd door _Rob op 14-04-2004 00:44 ]
Webdeveloping... -counts to 10- Sigh...