0

このコードを実行しようとすると、次のエラーが発生します: undefined offset. これが自分自身を説明するのに十分なコードであることを願っています。

$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;
}
?>

このアプローチは、Laravel、Codeigniter などの多くの一般的な PHP フレームワークで使用されています。

于 2013-10-04T16:30:54.370 に答える