自动开始读取另一个用户的session -php,apache

时间:2014-10-01 07:08:59

标签: php apache session

我正在使用apache / php中的用户登录系统。在登录时我将user_id存储到会话变量

<?php session_start();
$username = $_POST['username'];
$password = $_POST['password];
//checking if username and password correct in database
//if correct then 

$_SESSION['user_id'] = $user_id;
//$user_id is received from database ?>   

在每一页上我都在检查会话是否为真

<?php session_start();
if($_SESSION['user_id']==true){
$user_id = $_SESSION['user_id]; 

//other processing of page}

然后我使用这个$user_id从数据库中获取用户的其他内容并显示它。 它工作正常,但有一段时间我使用帐户登录后会自动转换为另一个帐户。

任何人都可以帮助我。 很抱歉打字错过,但我在顶部使用session_start。它大部分时间都在工作文件,但有时它开始读取其他会话值。我想知道如何读取其他会话值。????

1 个答案:

答案 0 :(得分:0)

$ _ SESSION和session_start()不是有条件的:据我所知,您不能使用它们来允许某人基于用户/通行证系统进行访问。

如果脚本在顶部有session_start(),则用户会在第二次访问网站时获取会话ID。如果你想要条件会话控制,我建议你自己编写一个(例如,使用MySQL / PHP后端来维护活动会话)。

PHP的这一部分非常具有误导性,因为$ _SESSION实际上与您想要的会话类型不同。 $ _SESSION用于存储临时物品,只要您在网站上存储,此信息就会存储在Cookie中或通过URL传播。一旦关闭选项卡或导航到其他位置,阵列就会被销毁 - 不再需要会话数据 - 必须再次登录。非常不切实际。