【问题标题】:Session in php query [closed]php查询中的会话[关闭]
【发布时间】:2013-03-08 14:15:02
【问题描述】:

假设我有一个登录页面 login.php,如果用户登录,那么他应该被重定向到 userpanel.php。如何在两个页面上使用会话,这样只有经过验证的会话用户才能看到第二页和没有其他人可以看到该页面。

【问题讨论】:

  • 我无法搜索它。到目前为止我所做的是我已经在 login.php 上启动会话并使用了 $_session['abc']=input from username textbox

标签: php session


【解决方案1】:

您需要在第一页开始一个会话并设置一个变量(取决于数据库或某种身份验证:

session_start();
...
// if authenticated, set this variable
$_SESSION['loggedin'] = TRUE;

然后在第二页检查变量是否存在:

session_start()
if ($_SESSION['loggedin'] == TRUE) {
   // Do stuff
} else {
   header("Location: http://example.com/login.php");
   exit();
}

【讨论】:

  • 谢谢兄弟。我会试着让你知道
【解决方案2】:

如上所述,在您的 login.php 页面中设置会话。成功登录后,我们设置会话以便脚本知道。

login.php

session_start();
....
$_SESSION['loggedin'] == TRUE;

您应该编写一个函数来检查用户是否已登录,为了简单起见并避免在每个文件中重复自己。

userpanel.php

session_start();
requireLogin();

.. all the other stuff you want to do..

该函数可以保存在一个通用文件中,您可以在每个页面中包含,并且可以很简单:

function requireLogin(){
    if($_SESSION['loggedin'] !== TRUE){
        header('Location: login.php');
    }
}

虽然您可以扩展它以检查其他级别的身份验证;如果用户是管理员、已登录、版主等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    相关资源
    最近更新 更多