2

次のような単純なphpテストページがあります

<?php
if(isset($_POST['hitme']))
{
    echo "hello world";
}
?>

私はこのページにアクセスしていますhttp://www.abc.com/page.php?hitme=trueが、これは何もエコーしていません。これで何か問題がありますか?

4

5 に答える 5

6

クエリ文字列で値を渡したので $_GET['hitme']、 ではなくを使用してください。を介して送信された値を保持しますが、クエリ文字列で渡された値は保持しません。$_POST$_POST<form action='post'>

if(isset($_GET['hitme'])) {...}

PHP のスーパーグローバル配列の違いについて読むことをお勧めします。

于 2012-07-27T17:44:57.873 に答える
2

$_POSTHTTP POST リクエストの一部としてページにポストされる変数のみが含まれます。ブラウザーのアドレス バーにアドレスを入力している場合は、POST 要求ではなく GET 要求を発行しているため、変数は に設定されません$_POST。POST リクエストを発行している場合でも、クエリ文字列で指定された変数はでしか使用できない$_GETため、この例ではどちらの方法でも間違った配列を使用しています。

于 2012-07-27T17:45:18.747 に答える
1

それが URL にある場合、たとえばhttp://example.com/index.php?hitme=trueにあります$_GET

ただし、 に入れたい場合は$_POST、次のようにする必要があります (非常に基本的な例)。

<form method="post" action="page.php">
    <input type="checkbox" name="hitme" value="true" />
    <input type="submit" value="Post data!" />
</form>

このスクリプトにより、ユーザーは必要に応じてそれをチェックし、[Post data!] をクリックできます。

ただし、$_POSTユーザーがボタンをクリックしない限り、表示されません。に関しては$_GET、URL に含まれている限り存在します。

于 2012-07-27T17:50:05.567 に答える
1

URL にある場合は$_GET代わりに使用する必要があります$_POST

于 2012-07-27T17:45:02.537 に答える
0

または、を使用できます$_REQUEST['hitme']。これは両方をチェックし$_POST['hitme']$_GET['hitme']

于 2012-07-27T17:56:20.400 に答える