Hoi,
Ik ben bezig met het vernieuwen van de system specs pagina maar kom er even niet uit.
Ik maak een cookie en ga er van uit dat er met het cookie niets mis is, deze is al helemaal getest en is ok.
Zo maak ik de cookie
Ik fake dus de mysql query door bij het maken van de cookie even in het script iets anders dan 1 in te vullen.
even het script
Als iemand dus geen cookie op zijn hdd heeft of stiekem $userid in zijn cookie heeft veranderd is dus output van de mysql query leeg, das logisch.
Ik heb al van alles geprobeerd met isset, if($row == "") , if($nick == "") noem maar op, maar niets werkt.
Wie - o - wie weet het?
Het gaat er dus om dat als er geen rij bestaat met id nummer x dat er dan een melding komt van je bent niet ingelogd.
Ik ben bezig met het vernieuwen van de system specs pagina maar kom er even niet uit.
Ik maak een cookie en ga er van uit dat er met het cookie niets mis is, deze is al helemaal getest en is ok.
Zo maak ik de cookie
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <?php $userid = "1"; $username = "Snow_King"; $userpass = "dit is een md5hash van mijn pw"; $hash = md5($userid.$username.$userpass.$secretword); Setcookie("userid", $userid, Time()+3600); Setcookie("username", $username, Time()+3600); Setcookie("userpass", $userpass, Time()+3600); Setcookie("userhash", $hash, Time()+3600); ?> |
Ik fake dus de mysql query door bij het maken van de cookie even in het script iets anders dan 1 in te vullen.
even het 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
| <?php include("inc/top.php"); //Gegevens uit cookie lezen $id = $HTTP_COOKIE_VARS["userid"]; $hash = $HTTP_COOKIE_VARS["userhash"]; //Gegevens uit MySQL Database halen $result = mysql_query("SELECT nick, pw FROM usr WHERE id='$id'"); while ( $row = mysql_fetch_array($result) ){ $nick = $row["nick"]; $pw = $row["pw"]; if(!empty($row)){ //Hash maken van de MySQL stuff $userhash = md5($id.$nick.$pw.$secretword); //Cookie hash met MySQL Hash vergelijken if($hash == $userhash) { echo(" <tr bgcolor='#00084a'> <td colSpan='2' class='bottombalk'>Hoi $nick, welkom op de system specs pagina!</td> </tr> "); } else { echo(" <tr bgcolor='#00084a'> <td colSpan='2' class='bottombalk'>Jij hebt met je cookie geknoeid! FOEI!</td> </tr> "); } } else { echo(" <tr bgcolor='#00084a'> <td colSpan='2' class='bottombalk'>Hoi, je bent niet ingelogd.</td> </tr> "); } } include("inc/bot.php"); ?> |
Als iemand dus geen cookie op zijn hdd heeft of stiekem $userid in zijn cookie heeft veranderd is dus output van de mysql query leeg, das logisch.
daar check ik dus of de array leeg is, maar als de geselecte rij helemaal niet bestaat, dan krijg ik dus niet de melding van je bent niet ingelogd, heel raar.if(!empty($row)){
Ik heb al van alles geprobeerd met isset, if($row == "") , if($nick == "") noem maar op, maar niets werkt.
Wie - o - wie weet het?
Het gaat er dus om dat als er geen rij bestaat met id nummer x dat er dan een melding komt van je bent niet ingelogd.