哟。我正在尝试用PHP创建一个简单的登录系统,我的问题是:我真的不理解会话。
现在,当我登录用户时,我运行session_register(“user”);但我真的不明白我在做什么。该会话变量是否包含任何可识别的信息,因此我可以通过$ _SESSION [“user”]将其输出或者我是否必须将用户名存储在单独的变量中?感谢。
答案 0 :(得分:12)
让我带你加快速度。
调用函数session_start();在脚本的开头(所以每次调用都会执行)。
这会使会话自动生成/适用于该页面。
从那时起,您只需使用$ _SESSION数组来设置值。
e.g。
$_SESSION['hello'] = 'world';
下次加载页面时(其他请求),这将会工作/发生:
echo $_SESSION['hello']; //Echo's 'world'
要简单地销毁一个变量,请取消设置该变量:
unset($_SESSION['hello']);
要销毁整个会话(以及其中的变量):
session_destroy();
这就是会议基础知识。
答案 1 :(得分:2)
会话能够存储您可能觉得有用的任何信息,因此信息的输入取决于您。 要尝试一些事情,请尝试以下方法并亲自看看:
<?php
session_start();
if(isset($_SESSION['foo']))
{
echo 'I found something in the session: ' . $_SESSION['foo'];
}
else
{
echo 'I found nothing, but I will store it now.';
$_SESSION['foo'] = 'This was a triumph.';
}
?>
第一次调用此站点应该存储信息,第二次存储它将打印出来。
所以是的,您基本上可以在会话中添加任何内容,例如用户名。
但请记住,一旦用户关闭浏览器,会话就会消失。
答案 2 :(得分:0)
$ _ SESSION ['user']必须设置为您的用户名/ ID,以便下次尝试阅读时,您将能够识别该用户。例如:
登录: $ _SESSION ['user'] = some_user_id;
用户区: $ user = $ _SESSION ['user']; //根据$ user变量从数据库中提取用户 //做点什么