所以我的问题真烦人。我有一个表单,我正在为我的输入分配一个变量:
$rememberMe = $_POST['rememberMe'];
每次记住我都没有被检查,我得到了这个错误,我无法想出办法阻止它。我查看了有关stackoverflow的许多主题,但所有这些修复似乎都不起作用。我不知道为什么。我三倍 - 检查我的变量,他们是完美的,只是不知道为什么它显示这个错误!
所有帮助表示赞赏。
由于
答案 0 :(得分:1)
您可以通过这种方式避免通知错误:
if (isset($_POST['rememberMe'])) {
// the key 'rememberMe' is a valid key of the array $_POST
$rememberMe = $_POST['rememberMe'];
} else {
$rememberMe = false; // or null or whatever value that suits you most
}
或更简短的方法是使用所谓的三元运算符:
$rememberMe = isset($_POST['rememberMe']) ? $_POST['rememberMe'] : false;
注意:如果您使用$_GET
或$_POST
个变量,我建议您在脚本开头使用以前的方法之一,绝不要使用$_GET['something']
你的脚本两次。它有助于避免问题并使您的代码可测试。
答案 1 :(得分:1)
这应该可以使它发挥作用。
$rememberMe = isset($_POST['rememberMe'])?true:false;
或者让它更加清晰
if(isset($_POST['rememberMe'])){
$rememberMe = $_POST['rememberMe'];
}
else
$rememberMe = null; // you can put false instead of null according to your situation
答案 2 :(得分:0)
您应该检查$_POST['rememberMe']
是否存在
$rememberMe = isset($_POST['rememberMe'])?$_POST['rememberMe']:false;
并且您可能还需要检查前面的表单checkbox
是否已发布且其name
是rememberMe
(不是id
)