שלום
כתבתי קוד של מערכת שמציגה את המחוברים עכשיו אבל היא לא ממש עובדת...
המסד הוא כזה:
PHP קוד:
CREATE TABLE `sessions` (
`sid` varchar(255) NOT NULL default '',
`time` varchar(255) NOT NULL default '',
`is_user` int(11) NOT NULL default '0',
`user_name` varchar(255) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
בתחילת הדף אני מייבא את הפונקציה update_session
ובסיום הדף אני מייבא את הפונקציה close_session
להלן הפונקציות:
PHP קוד:
function update_sessions()
{
session_start();
$s_id = session_id();
$time = time();
if( $_SESSION['site_session'] == 1 )
{
mysql_query("update sessions set time='$time' where sid='$s_id'");
} else {
$_SESSION['site_session'] = 1;
if( ! isset($_COOKIE['site_user']) )
{
$is_user = 0;
} else {
$is_user = 1;
}
$user_name = $this->username(); // זה לא חשוב כרגע...
mysql_query("insert into sessions (sid,time,is_user,user_name) values('$s_id','$time','$is_user','$user_name')");
}
}
function close_sessions()
{
$time = time() - 30;
mysql_query("delete from sessions where time <= '$time'");
}
עכשיו כדי להציג את המשתמשים המחוברים אני עושה ככה:
PHP קוד:
$now_logged_in = mysql_query("select * from sessions where is_user='1'");
while( $l = mysql_query($now_logged_in) )
{
$user = mysql_query("select * from users where user_name='{$l['user_name']}'"));
$l['user_id'] = $user['id'];
echo "- <a href=\"index.php?act=profile&id={$l['user_id']}\">{$l['user_name']}</a>";
}
אבל לצערי זה לא מציג שום דבר.. יעני לא מציג שמשתמשים הם מחוברים למרות שהם כן.. וכל העניין עם העוגיות והסאשן נכונים ב100%.. אולי יש לי טעות בקוד שלא שמתי לב
מישהו יודע מה הבעיה?
אני אשמח לקבל תשובה בהקדם.
תודה ויום טוב