首页 > 解决方案 > 无法使用复选框保持用户登录

问题描述

我正在尝试使用复选框和 php 让用户保持登录状态,但出现以下错误

未定义索引:stayLoggedIn

我的代码如下

<div class="form-group form-check">
  <input type="checkbox"  class="form-check-input" name="stayLoggedIn" value=1> 
  <label class="form-check-label" for="exampleCheck1" >keep me  sign in</label>

和php代码如下

if ($_POST['stayLoggedIn'] == '1') {
  setcookie("id", $row['id'], time() + 60*60*24*365);
} 
header("Location: loggedinpage.php");
}

请指点我哪里错了

标签: phpauthentication

解决方案


未定义的索引可能意味着没有设置值,即未选中该框。尝试检查是否首先设置了变量。

if (isset($_POST['stayLoggedIn'])) {
    $stayLoggedIn = $_POST['stayLoggedIn'] ;
}

如果 $_POST['stayLoggedIn'] 未设置,即使复选框被选中,您可能需要确保使用正确的方法发送表单,即:

<form action="pageToHandleForm.php" method="post">

推荐阅读