PHP登录,存储会话变量

时间:2010-03-23 12:04:18

标签: php mysql html

哟。我正在尝试用PHP创建一个简单的登录系统,我的问题是:我真的不理解会话。

现在,当我登录用户时,我运行session_register(“user”);但我真的不明白我在做什么。该会话变量是否包含任何可识别的信息,因此我可以通过$ _SESSION [“user”]将其输出或者我是否必须将用户名存储在单独的变量中?感谢。

3 个答案:

答案 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变量从数据库中提取用户 //做点什么