0

当我尝试运行此代码时,出现以下错误:未定义的偏移量。我希望这是足够的代码来解释我自己。

$images_id = $row["image_id"];
echo "
    <form action=\"index.php\" method=\"post\">
        <input type=\"submit\" name=\"$images_id\" value=\"like\" />
    </form>
";
$postName = $_POST["$images_id"];
4

2 回答 2

1

如果您的表单没有被发回,则 中没有可用的数据$_POST。在尝试访问它之前,您需要检查数组中是否存在密钥:

if (array_key_exists($images_id, $_POST)) {
  $postName = $_POST[$images_id];
}
于 2013-10-04T15:33:03.640 回答
0

这是 PHP 新手常犯的错误。帮自己一个忙,创建一个函数来处理检查变量的繁琐过程:

<?php
function getPostValue($key, $default = false)
{
    if ( isset($_POST[$key]) ) {
        return $_POST[$key];
    }
    return $default;
}
?>

这种方法被许多流行的 PHP 框架使用,例如 Laravel、Codeigniter 等。

于 2013-10-04T16:30:54.370 回答