【发布时间】:2023-03-13 11:31:01
【问题描述】:
这是我的第一页。我只是无法让我的变量进入下一页 index.php ($_SESSION['admin_email'])。变量赋值在第一页上工作正常,在 index.php 中它总是重定向到 login.php
<?php
error_reporting(0);
session_start();
include_once('../_inc/_class/Users.php');
$dbUsers = new Users();
$uname = htmlspecialchars($_POST['username']);
$upass = md5($_POST['password']);
if($uname != "" && $upass != "") {
$user = $dbUsers->selectAll("`password` = '".$upass."' and `email` = '".$uname."' and user_type = 'admin'", "1", "");
/*print_r($user);*/
if(!empty($user) && $user[0]->email == $uname && $user[0]->password == $upass) {
$_SESSION['admin_email'] = $user[0]->email;
/*var_dump($_SESSION['admin_email']);*/
}
else {
$_SESSION = array();
session_destroy();
}
}
die(header('Location:../index.php'));
?>
index.php
<?php
error_reporting(E_ALL);
session_start();
if(!isset($_SESSION['admin_email'])) {
die(header('Location:./login.php'));
}
?>
【问题讨论】:
-
在新页面上,做一个
print_r($_SESSION);以了解更多信息 -
您确定您没有在 if 语句的 else 部分意外使用
session_destroy()吗? -
您确定您的登录脚本没有通过 if 的 else 部分吗?尝试在 else 中放置一个 die()....
-
print_r($_SESSION);它返回一个空数组
-
登录脚本没有通过 else 部分。
标签: php session session-variables