リンクをクリックしても、URLにはフラグメント識別子#
しか含まれていないため、何も起こりません。リクエストすら発行されません。GET
通常、この種のリンクを使用して、ページ内の要素にジャンプします(たとえば<a href="#top">Top</a>
、IDを持つ要素にジャンプしますtop
)。これはブラウザで完全に処理されます。
そして、そこにフラグメント識別子を置くだけでは、何も起こりません。これは、リンクがJavaScriptを実行する必要があり、実際には他の何かにリンクしてはならない場合によく使用されます。
$_POST
サーバー側でアレイをテスト しています。POST
ただし、フォームからリクエストを開始した場合、この配列には要素のみが含まれます。つまり、送信ボタンを使用してフォームを作成する必要があります。例:
<form action="" method="POST">
<input type="submit" name="logout" value="Exit Group" />
</form>
ここで、配列name
のキーとなる属性が機能します。$_POST
ただし、これを通常のリンクに割り当てても効果はありません。
リンクを使用することもできますが、GETリクエストを使用すると次のようになります。
<a id="exit" href="?logout=1">Exit Group</a>
<!-- ^-- parameter must be part of the URL, name has no effect -->
と
if(isset($_GET['logout'])){
//CODE TO BE EXECUTED
}
ここでパラメータを渡す必要があることに注意してくださいlogout
。
混乱しGET
てPOST
リクエストがあったようです。フォームがある場合、フォーム要素のname
sはパラメータとしてサーバーに送信されます。つまり、次の形式が与えられます。
<form method="POST">
<input type="text" name="foo" value="" />
<input type="text" name="bar" value="" />
<input type="submit" name="send" value="Send" />
</form>
ユーザーが送信ボタンをクリックする$_POST
と、サーバー側のアレイに次のキーが表示されます。
$_POST['foo']
$_POST['bar']
$_POST['send']
ただし、これはリンクでは機能しません。リンクをクリックすると通常のGET
リクエストが作成されます。ここでは、パラメータはURLの一部であり、疑問符の後に追加?
され、アンパサンドで区切られている必要があり&
ます。
<a href="somePage.php?foo=1&bar=1&andMore=0"> Link </a>
結果として
$_GET['foo']
$_GET['bar']
$_GET['andMore']
おそらくHTTPプロトコルについて読む必要があります。