当我尝试运行此代码时,出现以下错误:未定义的偏移量。我希望这是足够的代码来解释我自己。
$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 等。