Ik heb een script met meerdere functies verdeeld over verscheidene bestanden.
Als ik inlog dan geeft ie de session-variabelen niet weer als ze aangeroepen worden vanuit een andere functie.
Hier de broncode van mijn scripts. btw: ik heb mod_db.php weggelaten, want die bevat alleen de database functies (verbinden, query e.d)
index.php:
mod_auth.php:
Hij geeft dus de session-vars niet weer als deze aangeroepen worden vanuit de functie sayhello.
Weet iemand hoe dit komt en/of hoe dit op te lossen valt?
Bij voorbaat dank.
Als ik inlog dan geeft ie de session-variabelen niet weer als ze aangeroepen worden vanuit een andere functie.
Hier de broncode van mijn scripts. btw: ik heb mod_db.php weggelaten, want die bevat alleen de database functies (verbinden, query e.d)
index.php:
code:
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
| <?php
/*
ActivaCMS
/cp/index.php
Creation date: 30-06-2002
Copyright (©) : Karst Hammer
*/
$fid="cp/index.php, 1.5 Beta, 30-06-2002";
session_start();
require("./mod/mod_db.php");
require("./mod/mod_auth.php");
if(!isset($cmd) && !isset($pg) && !isset($page))
{
showlogin('Login');
}
if($cmd == 'verify')
{
checkpwd($username,$password);
}
if($cmd == 'sayhello')
{
sayhello();
}
?> |
mod_auth.php:
code:
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
| <?php
/*
ActivaCMS
/cp/mod/mod_auth.php
Creation date : June 30th, 2002
Copyright (©) 2002 - Karst Hammer
*/
$fid="/cp/mod/mod_auth.php, 1.5 Beta, 30-06-2002";
session_start();
function showlogin($pagetitle)
{
//(denk hier de login-page)\\
}
function checkpwd($username,$password)
{
$link = db_connect();
$sql = "SELECT * FROM auth_users WHERE user_name='$username'";
$res_chkpwd = db_query($sql,$link);
if(mysql_num_rows($res_chkpwd) == "0")
{
echo("Login failure");
}
else
{
while(($obj_chkpwd = mysql_fetch_object($res_chkpwd)))
{
if($obj_chkpwd->user_pwd == md5($password)) {
global $sUserid, $sUsername, $sPassword, $sRealname, $sUserrank, $sErank, $sLoggedIn;
$sUserid = $obj_chkpwd->user_id;
$sUsername = $obj_chkpwd->user_name;
$sPassword = $obj_chkpwd->user_pwd;
$sRealname = $obj_chkpwd->user_rlname;
$sUserrank = $obj_chkpwd->user_rank;
$sErank = $obj_chkpwd->user_erank;
$sLoggedIn = session_id();
session_register('sUserid');
session_register('sUsername');
session_register('sPassword');
session_register('sRealname');
session_register('sUserrank');
session_register('sErank');
session_register('sLoggedIn');
header("Location: index.php?cmd=sayhello&PHPSESSID=".$sLoggedIn);
}
}
}
}
function sayhello()
{
echo("Your username is: ".$HTTP_SESSION_VARS['sUsername']);
}
?> |
Hij geeft dus de session-vars niet weer als deze aangeroepen worden vanuit de functie sayhello.
Weet iemand hoe dit komt en/of hoe dit op te lossen valt?
Bij voorbaat dank.