2017-08-21 14 views
0

私は疑問符、疑問符(この場合は 'show')の後の変数とPHPのGETメソッドに渡される方法との関係が何であるか疑問に思っていました。また、GETの代わりにPOSTを使用するのはなぜですか?"?"とGETメソッド?

<?php 

    if (isset($_GET['show']) 
     echo $_GET['show']; 

?> 
<input type="submit" onClick="window.location='index.php? 
show=include.inc.php'"> 

ああ、私が働いているファイルがindex.phpをされ、クリックすると、それはinclude.inc.phpの内容を示しています。

助けてください。愚かな質問には申し訳ありません。

+6

URLの '?'の後にあるものはすべてクエリ文字列です。 '$ _GET'には、要求されたURLの解析されたクエリ文字列が含まれています...まさにあなたは混乱していますか? – deceze

+0

私はここですべての仕組みが混乱しています。 –

+0

このhttps://en.wikipedia.org/wiki/Query_stringとhttps://stackoverflow.com/questions/33041449/what-is-the-meaning-of-question-mark-in-url-stringを参照してください GET要求URIの疑問符は、URLとクエリ(要求)パラメータの間の区切りとして機能します。 あなたは何を意味しましたか?また、GETの代わりにPOSTを使用してみてはいかがですか?** – sribasu

答えて

3

疑問符は、続く変数があることを示します。

$_GETの機能は、URL自体に変数を渡すことで実現します。この場合、「ねえ、表示はinclude.inc.phpと同じです」と表示されているようなものです。

$_POSTは同じですが、より慎重に行います。 URLを渡すのではなく、郵便システムと同様に、受信者に向かう小さなパッケージを作成します。

+0

ありがとうございます! –

+0

あなたは大歓迎です! :D – Will

+1

必ずしも変数ではなく、クエリ文字列(変数名と値を含むこともあります)。 –

0

?の疑問符の後のコードは、HTTPリクエストでサーバーに送信されるものです。 (形式:http://...URL...?key_1=value_1&key_2=value_2

onClick="..."コードは、ユーザーがブラウザでそのボタンをクリックすると実行されるJavaScriptコードです。

window.location = ...は、ブラウザがURLページを割り当てられたものに変更するように強制するjavascriptコードです。

GETの代わりにPOSTを使用すると、サーバーに送信されるデータがブラウザのユーザーには見られず、URLの一部にはなりません。例えば。ユーザーはPOSTデータではなくGETでURLをブックマークできます。

1

私は、疑問符、疑問符(この場合は 'show')の後の変数とPHPのGETメソッドに渡される方法との関係が何であるか疑問に思っていました。

疑問符は、URL内のクエリ文字列の開始を示します。

URLは、リクエスト本体がないため、HTTP GETリクエストにデータを入れる唯一の場所です。デフォルトでは、HTMLフォームは送信時にGETリクエストをトリガし、クエリ文字列にフォームのコンテンツをエンコードします。

PHPはクエリ文字列のデータを$_GETに置きます。これは実際にHTTP要求メソッドが何であってもこれを行います。それはあまり名前のない変数名です($_QUERYが良いでしょう)。

GETの代わりにPOSTを使用する理由は何ですか?

POSTリクエストにブックマークまたはリンクすることはできません。

POSTリクエスト後にページを更新すると、ブラウザにデータを本当に再送信するかどうか尋ねるメッセージが表示されます。

要するに、POSTは、サーバー上のデータを変更するリクエストを作成するために設計されています(通常、繰り返しは意味をなさない)。 GETは、サーバーからのみデータを取得する要求を作成するために設計されています(繰り返し可能です)。

+0

すばらしく説明しました、ありがとうございます! –

関連する問題