我是PHP的新手,我试图从另一个PHP文件中复制一个变量。我正在使用$_SESSION["username"]
来共享变量。
我的目标是在第二个文件中克隆此$ username,因此,如果会话值更改,我仍然可以访问$username
变量。我正在尝试建立一个强大的登录系统,以便当用户登录时,他们获得一个令牌,我使用其用户名来查找在数据库中分配的令牌。因此,如果用户更改了会话变量,我将无法在数据库中找到该令牌并再次将其重定向到登录页面。
问题在于,每当我删除或更改会话变量时,我就无法再访问$username
了,这很有意义。这就是为什么我要克隆它。
$username = $_SESSION["username"];
$username_copy = clone $username;
我希望$username_copy
与$username
相同,但是当我输出结果时,我什么也没得到。
答案 0 :(得分:0)
会话变量存储在服务器上。用户无法更改它。
这是我的建议:
如果用户名/密码返回结果,则可以将其用户名放在会话中:$_SESSION['username'] = $username_from_database;
假定他们使用用户名$ _SESSION ['username']登录,除非他们注销。他们注销后,致电unset($_SESSION['username']);
这是此过程的非常简单的总结。
会自动为客户端提供一个cookie,其中包含一个随机会话ID。当他们向您的服务器发出请求时,PHP将使用该会话ID查找会话,然后在运行脚本之前将会话的内容(几乎是一个大数组)放入$ _SESSION中。