嗨,我正在尝试用PHP制作一个简单的登录系统,我的问题是:我不太理解会话(sessions)。
现在,当我登录用户时,我运行session_register("user"),但我不太明白我在做什么。那个会话变量是否包含任何可识别的信息,例如我是否可以通过$_SESSION["user"]获取它,还是我必须将用户名存储在单独的变量中?谢谢。
让我带你快速了解一下。
在脚本的开头调用函数session_start();(这样它就会在每个页面调用时执行)。
这将自动使该页面上的会话处于活动/工作状态。
从那时起,您只需使用$_SESSION数组来设置值。
例如:
$_SESSION['hello'] = 'world';
echo $_SESSION['hello']; //Echo's 'world'
如果只需要删除一个变量,可以使用unset命令:
unset($_SESSION['hello']);
要销毁整个会话(以及其中的所有变量):
session_destroy();
这就是有关会话基础知识的全部内容。
会话可以存储任何你认为有用的信息,所以将信息放入会话中取决于你自己。想要尝试一些事情,请尝试以下操作并亲身体验:
<?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.';
}
?>
第一次访问此网站时应存储信息,第二次存储将打印出信息。
因此,您基本上可以在会话中放置任何内容,例如用户名。
但请注意,只要用户关闭浏览器,会话即会结束。
$_SESSION['user'] 必须设置为您用户的名称/ID,以便下次尝试读取时,您可以识别该用户。例如:
登陆: $_SESSION ['user'] = some_user_id;
用户区域: $user = $_SESSION ['user']; // 根据 $user 变量从数据库中提取用户 // 做些什么