当我尝试运行此代码时,出现以下错误:未定义的偏移量。我希望这足以解释我自己的代码。
$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"];
如果您的表单未回发,则 $_POST
中没有可用的数据。在尝试访问数组之前,您需要检查数组中
if (array_key_exists($images_id, $_POST)) {
$postName = $_POST[$images_id];
}
对于新的PHP用户来说,这是一个常见的错误。帮自己一个忙,创建一个函数来处理检查变量的繁琐过程:
<?php
function getPostValue($key, $default = false)
{
if ( isset($_POST[$key]) ) {
return $_POST[$key];
}
return $default;
}
?>
这种方法被许多流行的PHP框架使用,如Laravel,Codeigniter等。