php未定义索引ID,但if(isset($ _ POST ['id']))语句正常工作

时间:2018-05-19 21:35:28

标签: php html mysql

我是php的新手并且已经在每个论坛上阅读有关此问题的内容但是没有任何效果它仍然给我警告:未定义的索引。任何帮助将不胜感激。

Matrix4()

3 个答案:

答案 0 :(得分:1)

isset()数组元素上使用$_POST,以确保它们已设置,例如:

$id = isset($_POST['id']) ? $_POST['id'] : false;

如果您使用PHP 7或更高版本,则可以使用以下内容:

// returns the value of $_POST['id']
// or returns false if it does not exist.
$id = $_POST['id'] ?? false;

null coalescing运算符(??)返回第一个操作数(如果存在且不为NULL);否则它返回第二个操作数。

答案 1 :(得分:0)

检查您使用的其他索引。

isset($_POST['redeem_points']) // this will be checked
$id = $_POST['id']; // that is was you are using

答案 2 :(得分:0)

试试这个:

$id = (int) $_POST['id'];

我想知道,"未定义的索引错误"来自? PHP或JavaScript? 因为你的javascript代码也有错误。它应该是这样的;

echo '<script> window.alert("Points Redeemed successfully !");
                        location.href = "admin_manage_points.php" </script>';