gpt4 book ai didi

php - 检查 session 密码

转载 作者:可可西里 更新时间:2023-11-01 00:32:04 27 4
gpt4 key购买 nike

我正在尝试将 POST 请求的变量存储到 session 中,因此我不需要每次单击页面上的某处时都发出 POST 请求。我收到以下错误:未定义索引:第 8、10、12 行的密码即使密码正确,它也说它是无效的。这是我的代码

session_start();
//error_reporting(0);
//@ini_set('display_errors', 0);
/*
Checking for login
*/
if (!$_POST['pw'] == "") {
$_SESSION['password'] = $_POST['pw'];
}
$pass = $_SESSION['password'];
$configpassword = "a random password";
$sessionpass = $_SESSION['password'];
if (!$pass == $configpassword) {
echo "<title>ACCESS DENIED !</title><h2>ACCESS DENIED !</h2>";
echo "<script>setTimeout(\"location.href = 'login.php';\",1500);</script>";
session_destroy();
die();
}

最佳答案

您的条件语句在运算符优先级方面存在问题。

if (!$_POST['pw'] == "")

这将评估 (!$_POST['pw']) 是否等于 "" 将首先转换 $_POST['pw'] 为 bool 值,然后取反,然后将其与 "" 的 bool 值(为假)进行比较。这最终会使你的条件做与你想要的相反的事情: !$_POST['pw'] == "" 只有当 $_POST['pw'] 等于 ""(或任何其他虚假值,如 "0")。

同样的问题 if (!$pass == $configpassword)

尝试将这些更改为:

if ($_POST['pw'] != "")

if ($pass != $configpassword)

关于php - 检查 session 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26333148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com