我在使用 PHP 和会话时遇到问题。这是我的dictionary.php 代码。
<?php
if(!isset($_SESSION['auth'])){
$_SESSION['auth'] = 0;
}
if($_SESSION['auth'] == 0){
header("Location: index.php");
}
?>
因此,有 index.php 应该将会话“auth”设置为 0 或 1:
<?php
$msg = "";
//Password handler
if(!isset($_POST['password'])){
$password = "";
}else{
$password = $_POST['password'];
}
if(!isset($_SESSION['auth'])){
$_SESSION['auth'] = 0;
}
//Username handler
if(!isset($_POST['username'])){
$username = "";
}else{
$username = $_POST['username'];
if($username == "potato" && $password == "poteto"){
$_SESSION['auth'] = 1;
header("Location: dictionary.php");
}else{
$msg = "<br />
<font color=\"#FF0000\">Invalid username or password!</font><br />";
}
}
if($_SESSION['auth'] == 0){
header("Location: dictionary.php");
}
?>
(以上可能是不好的做法,但我只是为学校项目做这个,我不希望其他人看到文件 dictionary.php。)
index.php 使用带有 POST 方法的表单来发送$username
and $password
,以防万一您还没有注意到。
当我输入登录详细信息“potato”和“poteto”时,它会将我重定向到dictionary.php,但随后立即将我扔回index.php。我试过调整上面的代码,但没有运气。
如果有人需要我向他们展示这个,那么我可以提供一个 URL。
谢谢。