Goedemorgen beste tweakertjes,
Ik heb een probleem met PHP-sessions, hij vergeet telkens alle informatie opgeslaan in de sessie;
Dus ook inlog informatie.
Kan iemand me zeggen wat ik fout doe?
Dit is mijn script: de include bevat slechts een inlog script, alles lijkt te werken, ik heb ook mijn session_id gecheckt en deze word niet vernieuwd zoals het hoort.
voor de compleetheid: hier het inlog-script:
Ik heb een probleem met PHP-sessions, hij vergeet telkens alle informatie opgeslaan in de sessie;
Dus ook inlog informatie.
Kan iemand me zeggen wat ik fout doe?
Dit is mijn script: de include bevat slechts een inlog script, alles lijkt te werken, ik heb ook mijn session_id gecheckt en deze word niet vernieuwd zoals het hoort.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
| session_start(); if( !empty($_POST['logout']) ) { session_destroy(); //destroy session session_start(); } if( isset( $_POST['login'] ) && ( $_POST['user'] == xxxx && $_POST['password'] == xxxxx ) ) { $_SESSION['user'] = $_POST['user'] ; // start admin-session $_SESSION['admin'] = 'true'; // start admin-session $_SESSION['session'] = 'true'; // session started } $_SESSION['time'] = time(); //timout $files[0] = 'home'; // beschikbare pagina's $files[1] = 'admin'; if ( $_SESSION['admin'] ) { // Beveiligde pagina's } $qfile = 'home'; // Standaard waarde voor include $file if( isset($_GET['q']) ) { for ( $i = 0;$i < count( $files ); $i++ ) { if ($files[$i] == $_GET['q']) $qfile = $files[$i]; } } $server = $_SERVER["SERVER_ADDR"]; //security: check for server. $index = true; //security: checkfor index=true ?><!--hehe--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Voerentv</title> <script type="text/javascript" src="app/jbase.js"></script> <script type="text/javascript" src="web/dhtml.js"></script> <script type="text/javascript"> </script> <link type="text/css" href="web/site.css" rel="stylesheet"> <?php if ( $qfile == 'home' ) echo '<style type="text/css">@import url(\'web/home.css\');</style>'; if ( $qfile == 'admin' ) echo '<style type="text/css">@import url(\'web/admin.css\');</style>'; ?> </head> <body onload="load()"> <div id="bdiv"> <div id="header"></div> <div id="wrapper"> <div id="menu"> <ul id="menua" class="menu"> <li><a href="?q=show">Show</a></li> <li><a href="?q=admin">Beheer</a></li> </ul> <ul id="menur" class="menu"> <li></li> </ul> <div id="JS_menuResize"></div> </div> <div id="main"> <?php include('web/' . $qfile . '.php'); ?> </div> </div> </div> <div style="clear:both"></div> <div id="JS_log"><div>php:<br><?PHP echo $_SESSION['user']; ?><br><?php echo date('Y m d H:i:s', $_SESSION['time']); ?><br><?php echo session_id(); ?><br></div></div> </body> </html> |
voor de compleetheid: hier het inlog-script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?php if (!$index && $server != $_SERVER["SERVER_ADDR"]) die("Toegang geweigerd!"); ?> <?php if ( isset( $_SESSION['user'] ) ) //doorverwijzen bij ingelogd { // include( 'web/adminmenu.php' ) include( 'web/lichtkrant.php' ); } else { ?> <form method="POST" action="index.php?q=admin" id="sessionmanager"> <img src="img/keys.gif" alt="keys" id="keys"> <ul> <li><dl><dt><label for="user">Gebruiker:</label></dt><dd><input type="text" name="user" id="user" value=""></dd></dl></li> <li><dl><dt><label for="password">Paswoord:</label></dt><dd><input type="password" name="password" id="password" value=""></dd></dl></li> <li><br><button type="submit" name="login"><img src="img/goed.gif" alt="login"> Aanmelden</button></li> </ul> <div style="clear:both"></div><!-- clear both--> </form> <?php } ?> |
[ Voor 14% gewijzigd door g4wx3 op 06-07-2007 08:22 ]