- Back to Home »
- PHP , お勉強 »
- PHPへGETで値を送る。
Posted by : Izumikawa Fukumi
2013年12月7日土曜日
今回PHPの"GET"への理解が浅い方の為にGETの使い方と便利な使い方をご紹介したいと思います。
そもそもGETの使い道が分からない方は多いのではないでしょうか?(初心者に限る)
恐らく初心者さんの半分はPOSTを使って値を送っていると思います。
そこでGETとPOSTの違いを初めに紹介したいと思います。
簡単に言うとGETとPOSTはどちらも値を送信しますが、GETは値が見えてPOSTは見えないと言う事が一番分かりやすいかと思います。次にGETはURLに直接埋め込んで送信出来てPOSTはフォームから送信されると言う事です。
いまいちGETの使い方が分かりませんよね? 「値はフォームから送信しちゃえばいいじゃん」と言う考えを持つ方は少なくないと思います。 ですが、GETにもそれなりの使い道があって存在しています。 例えば、ブログなどでも使われています。他にもGoogleの検索にも使われています。
ブログで例えると、記事ごとに1つのページを作るとデータ量を無駄に大きくしてしまいますよね?でもGETでブログ記事のデータを送れば1つのphpファイルで複数の記事を表示する事が出来ます。ただGTEで送られた値を元に記事ファイルを読み込むだけなので無駄なHTMLファイルを作らなくても、すむわけです。
私のWebサイトのブログでもGETで記事ファイルを管理しています。
記事一覧ページに記事を一覧表示してリンクにはGETで記事IDを埋め込んでいます。
そのリンクをクリックしたらGETでPHPに値が送られて、送られて来た記事IDを元に記事を探して表示すると言う形をとっています。
この様にリンクに値を埋め込むにはGETを使うと便利なのです。
では一応以下に値を埋め込む例を書きます。
「ファイルパス.php?name=値」と言う形で埋め込みます。
複数の値を埋め込むには&で区切る事が出来ます。
「sample.php?id=abc&pass=12345&name=いずみん」の様に何個でも値を送る事が出来ます。
ただ上記の例の様にidやpassなどを送ってログイン出来るシステムにすると悪意のあるユーザーが簡単にidとpassを特定出来てしまいます。
GETの弱点は見える為大事な値はSESSIONやPOSTなどで扱いましょう。
■GETをPHPで受け取るサンプル
if($_GET['sample'] !== ""){ print 'GETで送られて来た値は' . $_GET['sample'] . 'です。'; }else{ print 'GETに値が存在しません。'; }