Right..所以我的代码有这个小程序。我得到一个所有熟悉的" 未定义的索引 '在未选中的复选框上。我想要实现的目标如下:如果选中 - 使用 cookie,如果不使用 - 使用会话。让我发布代码。
.HTML:
<input type="checkbox" id="remember_me" name="remember_me"/>Remember me!
.PHP:
if ($login_ok == true)
{
if ($remember_me == "on")
setcookie('username', $username, time() + 7200);
else if ($remember_me = "")
$_SESSION['username'] = $username;
header('Location: userprofile.php');
exit();
}
else {
die ('Wrong userrrname / password');
}
html表单不会为未选中的复选框发送值。
您在哪里:
$remember_me = $_POST['remember_me'];
您将得到未定义的索引错误是remember_me复选框未选中。
更改为
$remember_me = isset($_POST['remember_me'])?$_POST['remember_me']:'';
如果未选中该复选框,这会将变量设置为空字符串,从而允许代码的其余部分正常运行。
除此之外,会话使用 cookie 来运行
在else if语句中设置$remember_me变量
更改此内容
$remember_me = ""
对此
$remember_me == ""