我有两个文件:登录文件和视图文件。 在login.php文件中,我启动一个像这样的会话:“$_SESSION[“who”] = $_POST[“who”];” 当我按下登录按钮时,它会将我重定向到 view.php 文件。 view.php 检查会话以查看是否设置了用户名,如果用户名不存在,则 view.php 必须立即停止使用 PHP die() 函数。
我的问题是,无论我是否输入用户名,总是使用 die() 函数。
这是我每个文件的代码。 登录.php 文件:
session_start();
if ( isset($_POST['cancel'] ) ) {
// Redirect the browser to game.php
header("Location: index.php");
return;
}
$salt = 'XyZzy12*_';
$stored_hash = '1a52e17fa899cf40fb04cfc42e6352f1'; // Pw is php123
$failure = false; // If we have no POST data
// Check to see if we have some POST data, if we do process it
if ( isset($_POST['who']) && isset($_POST['pass']) ) {
unset($_SESSION["who"]);
if ( strlen($_POST['who']) < 1 || strlen($_POST['pass']) < 1 ) {
$_SESSION["error"] = "User name and password are required";
header( 'Location: login.php' ) ;
return;
} else {
if (strpos($_POST['who'], '@') == false) {
$_SESSION["error"] = "Email must have an at-sign @";
header( 'Location: login.php' ) ;
return;
} else {
$check = hash('md5', $salt.$_POST['pass']);
if ( $check == $stored_hash ) {
$_SESSION["who"] = $_POST["who"];
header( 'Location: view.php' ) ;
return;
} else {
$_SESSION["error"] = "Incorrect password";
header( 'Location: login.php' ) ;
return;
}
}
}
}
// Fall through into the View
?>
<!DOCTYPE html>
<html>
<head>
<?php require_once "bootstrap.php"; ?>
<title>123</title>
</head>
<body>
<div class="container">
<h1>Please Log In</h1>
<?php
if ( isset($_SESSION["error"]) ) {
echo('<p style="color:red">'.htmlentities($_SESSION['error'])."</p>\n");
unset($_SESSION["error"]);
}
倚天杖