无法修复未识别的索引

时间:2013-11-23 17:21:37

标签: php

所以我的问题真烦人。我有一个表单,我正在为我的输入分配一个变量:

$rememberMe = $_POST['rememberMe'];

每次记住我都没有被检查,我得到了这个错误,我无法想出办法阻止它。我查看了有关stackoverflow的许多主题,但所有这些修复似乎都不起作用。我不知道为什么。我三倍 - 检查我的变量,他们是完美的,只是不知道为什么它显示这个错误!

所有帮助表示赞赏。

由于

3 个答案:

答案 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是否已发布且其namerememberMe(不是id