使用复选框来确定会话或 cookie - php



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 == ""

最新更新