Als phprutser ben ik een pagina voor mezelf gaan maken met daarop een cookie-loginsysteem (tja, je probeert eens wat nieuws). Ik heb gebruikers (op dit moment nog maar 1) in een database staan en op moment wordt ingelogt wordt de gebruikersnaam en password (die de gebruiker intypt) in een cookie gezet. Daarna wordt de gebruiker en het password in de database opgezocht.
Tot zover werkt het prima, ik kan inloggen en als ik ingelogd ben, kan ik alle taken uitvoeren, zoals een gebruiker toevoegen met gebruikertoevoegen.php. Dan log ik uit. Ik kom terecht op de inlogpagina, waar de gegevens staan die je ziet als je uitgelogd bent. Ook nog goed. Als ik dan handmatig naar gebruikertoevoegen ga, dan blijkt dat ik niet uitgelogd ben, want deze pagina verschijnt gewoon.
Voor de duidelijkheid de code:
index.php (login, relevante delen)
Gebruikerbeheer.php (relevante delen)
...en de uitlogpagina:
Bij de setcookie-functie is de map-variabele leeg omdat ik werk met een mappenstructuur waarin dit (voor zover ik geprobeerd heb) niet mogelijk is. Ook heb ik geprobeerd het domein weg te laten, of het puntje aan het begin weg te laten en dit mocht ook niet helpen. (Op een gegeven moment kon ik niet eens meer inloggen). Ik heb de search gebruikt, maar de topics die daaruit rolden konden mijn vraag ook niet beantwoorden. Iemand?
Tot zover werkt het prima, ik kan inloggen en als ik ingelogd ben, kan ik alle taken uitvoeren, zoals een gebruiker toevoegen met gebruikertoevoegen.php. Dan log ik uit. Ik kom terecht op de inlogpagina, waar de gegevens staan die je ziet als je uitgelogd bent. Ook nog goed. Als ik dan handmatig naar gebruikertoevoegen ga, dan blijkt dat ik niet uitgelogd ben, want deze pagina verschijnt gewoon.
Voor de duidelijkheid de code:
index.php (login, relevante delen)
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
| <? if (IsSet($login)) setcookie("login", $login, time() + 31536000,"",".reflex.nl.ext.ext"); if (IsSet($wachtwoord)) setcookie("wachtwoord", $wachtwoord, time() + 31536000,"",".reflex.nl.ext.ext"); include("../data/config.inc.php"); mysql_connect($host,$user,$pass); mysql_select_db($database); $wachtwoord = md5($wachtwoord); $result = mysql_query("SELECT password FROM users WHERE username='$login'"); $line = mysql_fetch_array($result); $password = $line["password"]; ?> <<knip>> <? if ($password != $wachtwoord) { ?> <form method=post><a name="inloggen"> <table align=center cellspacing=0 cellpadding=0> <tr> <td class=txt>Loginnaam: </td><td> <input type=text name="login" class=input></td> </tr> <tr> <td class=txt>Wachtwoord: </td><td> <input type=password name="wachtwoord" class=input></td> </tr> <tr> <td colspan=2 align=center><input type=submit name="submit" value="Inloggen"></td> </tr> </table> </form> <? } elseif ($password == $wachtwoord) { ingelogd(); //(deze functie geeft de links weer naar de pagina's waar je alleen bij kunt als je ingelogd bent) } ?> <<knip>> |
Gebruikerbeheer.php (relevante delen)
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
| <? include("../../data/config.inc.php"); mysql_connect($host,$user,$pass); mysql_select_db($database); $wachtwoord = md5($wachtwoord); $result = mysql_query("SELECT password FROM users WHERE username='$login'"); $line = mysql_fetch_array($result); $password = $line["password"]; if ((!IsSet($password)) || ($password != $wachtwoord)) { ?> <html> <head> <META HTTP-EQUIV="refresh" CONTENT="0; url=../"> </head> </html> <? } else { //laat de pagina zien <<knip>> |
...en de uitlogpagina:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <? if (IsSet($login)) setcookie("login", "", time() - 31536000,"",".reflex.nl.ext.ext"); if (IsSet($wachtwoord)) setcookie("wachtwoord", "", time() - 31536000,"",".reflex.nl.ext.ext"); ?> <html> <head> <META HTTP-EQUIV="refresh" CONTENT="0; url=../"> </head> <body onLoad="alert ('Je bent uitgelogd.')"> </body> </html> |
Bij de setcookie-functie is de map-variabele leeg omdat ik werk met een mappenstructuur waarin dit (voor zover ik geprobeerd heb) niet mogelijk is. Ook heb ik geprobeerd het domein weg te laten, of het puntje aan het begin weg te laten en dit mocht ook niet helpen. (Op een gegeven moment kon ik niet eens meer inloggen). Ik heb de search gebruikt, maar de topics die daaruit rolden konden mijn vraag ook niet beantwoorden. Iemand?
offtopic:
Superglobals zijn op mijn server nog niet beschikbaar, binnenkort ga ik mijn server upgraden van een p1 100 naar een AMD K6(?) 550 en dan wordt alles in een keer geupgrade.
Superglobals zijn op mijn server nog niet beschikbaar, binnenkort ga ik mijn server upgraden van een p1 100 naar een AMD K6(?) 550 en dan wordt alles in een keer geupgrade.
Blaat het niet dan schaadt het niet...
Reflex Discoshow - Het beste wat je bruiloft kan overkomen