Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php查询中的会话_Php_Session - Fatal编程技术网

php查询中的会话

php查询中的会话,php,session,Php,Session,假设我有一个登录页面login.php,如果一个用户登录,那么他应该被重定向到userpanel.php。如何在两个页面上使用会话,以便只有经过验证的会话用户才能看到第二个页面,而其他人无法看到该页面。您需要在第一页启动会话并设置一个变量(取决于数据库或某种身份验证: session_start(); ... // if authenticated, set this variable $_SESSION['loggedin'] = TRUE; 然后在第二页中检查变量是否存在: session

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

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

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();
}

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

login.php

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

.. all the other stuff you want to do..
为了简单起见并避免在每个文件中重复您自己,您应该编写一个检查用户是否登录的函数

userpanel.php

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

.. all the other stuff you want to do..
该功能可以保存在每页中包含的常规文件中,其简单程度如下:

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

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

请看,我无法搜索它。我现在所做的是在login.php上启动会话,并使用了$_session['abc']=用户名textboxthanx bro的输入。我会尝试让您知道