1

Webページに画像を描画するphpステートメントがあります。そのWebページをクリックすると、別のphpステートメントで$ _POSTが設定されているかどうかを尋ねます。これを実行すると、常にtrueに評価され、Array()が出力されます。print_r($_POST)

投稿を空の配列として表示するページに移動するために使用するコードは...

echo 'Create a New Link<a href="createlink.php"><img src="images/add.png" width="5%" height="5%"/></a>';

これは、画面への新しいリンクの作成を書き出し、アンカーを作成して、最後に画像を表示します。次に、ユーザーが画像をクリックすると、createlink.phpに移動します。ここで、何らかの理由で$_POST変数が設定されています。

私が行ったすべての調査では、アンカーはデフォルトで$_GETを使用することが示唆されています。また、$ _ GETでテストを実行して、$ _ GETが設定されているかどうか、および空の配列としても設定されているかどうかを確認します。

簡単にisset($_POST)言えば、アンカーリンクを介してページにアクセスした場合、trueに戻りたくありません。

4

2 に答える 2

5

答えはphp.netで見つけることができると思います:

[$_POST] は「スーパーグローバル」または自動グローバル変数です。これは単に、スクリプト全体のすべてのスコープで使用できることを意味します。

空いているかどうかを確認するだけでよいと思います。

于 2013-03-09T01:05:23.120 に答える
3

ブラウザーで (get を使用して) 任意のスクリプトを開いて実行するvar_dump($_POST);と、結果は空の配列になります。常に設定されています。

おそらく、投稿が行われたかどうかを確認している場所を修正する必要があります。投稿リクエストが行われたかどうかを確認するより良い方法は、次のとおりです。

if ($_SERVER['REQUEST_METHOD'] === 'POST')
于 2013-03-09T01:05:36.950 に答える