Re: Big session problem (login)
| From: | Marek Kilimajer | Date: | Mon, 28 Apr 2003 09:35:57 +0000 |
| Subject: | Re: Big session problem (login) | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-145494@lists.php.net to get a copy of this message | ||
Cannot you just use session_set_cookie_params() instead of calling setcookie() directly?
pag wrote:
The problem is i'm not logged in anymore when i click on a link on my page. just when i visit the page it says: welcome , last login 01.01 - 01:00AM - normally it should say welcome pag, last login 25.04 - 01:22AM index.php: check_uids(); if(isset($cookie_uid)) { session_id($cookie_uid); } session_start(); setcookie('cookie_uid',session_id(),time()+999999, "/"); if(!$_SESSION['User']) { $_SESSION['User'] = "User"; } $uid = session_id(); if(check_uid($uid)) { update_uid($uid); } else { add_online($uid); set_hits(); } if(!($USER['id'] > '0')) { if(isset($cookie_name) and isset($cookie_pass)) { if($i=check_login($cookie_name, $cookie_pass)) { $USER = get_user($i); set_online($uid,$i); } else { $USER = array('id'=>'0','name'=>'anonym','level'=>'0'); } } else { if(get_online($uid) == '0') { $USER = array('id'=>'0','name'=>'anonym','level'=>'0'); } else { $USER = get_user(get_online($uid)); } } } case 'login': if($params[1] == 'save') { if($i=check_login($post_name, $post_pass)) { $USER = get_user($i); set_online($uid,$i); setcookie('cookie_name',$post_name,time()+3600, "/"); setcookie('cookie_pass',$post_pass,time()+3600, "/"); $page = 'news.php'; $section = 'news'; } else { $page='nologin.php'; } } else { $page='login.php'; } break; case 'logout': setcookie('cookie_name','youarenotauthed',1); setcookie('cookie_pass','youarenotauthed',1); set_online($uid,0); $user = get_user_sys($USER['id']); $welcome = 'welcome ' . $user['name'] . ', last login ' . date('d.m - h:iA',time_sql_unix($user['lastlogin'])); session.php <? session_start(); $_SESSION['zaehler'] = lol; $zaehler++; echo $zaehler."<br>"; echo session_id()."<br>"; echo strlen(session_id())."<br>"; echo "<a href=\"session.php?".SID."\">weiter</a>"; ?> functions: function check_login($name,$pass) { global $sql_id; $result = mysql_query("UPDATE rs_users SET lastlogin=NULL WHERE name='$name' AND pass='".md5($pass)."'",$sql_id); $result = mysql_query("SELECT id FROM rs_users WHERE name='$name' AND pass='".md5($pass)."'",$sql_id); $row = mysql_fetch_array($result); return $row['id']; } function check_uid($uid) { global $sql_id; $result = mysql_query("SELECT id FROM rs_online WHERE uid='$uid'",$sql_id); if($row = mysql_fetch_array($result)) {return true;} return false; } function check_uids() { global $sql_id; $time = time_unix_sql(time()-900); $result = mysql_query("DELETE FROM rs_online WHERE timeout<'$time'",$sql_id); return true; } function update_uid($uid) { global $sql_id; $result = mysql_query("UPDATE rs_online SET timeout=NULL WHERE uid='$uid'",$sql_id); return $id;