使用$ postName = $ _POST [variable]时的错误

时间:2013-10-04 15:28:06

标签: php post

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

$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"];

2 个答案:

答案 0 :(得分:1)

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

if (array_key_exists($images_id, $_POST)) {
  $postName = $_POST[$images_id];
}

答案 1 :(得分:0)

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

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

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