Pages

Subscribe:

Labels

2012-01-02

PHPでのデータの受け渡し~GET

今回はGETでのデータの受け渡し、受け取りについてまとめます。

前回の記事でPOSTはformタグとの組み合わせにより、
データを見えない形で受け取ることができるということを説明しました。
GETは送ったデータが目に見える形で表れます。

フォームとGET

見える・見えないという言葉を何度も使いましたが、
どこに見えるのかというと、ブラウザのアドレスが表示される部分(アドレスバー)です。
現在アクセスしているページのURLの最後に「?○○=××」という形で
表示され、「××」の部分がGETで受け取った値になります。

前回作成したフォームの「method」をpostからgetに変更し、
PHPで受け取る部分も「$_GET[' ']」という形に変更してみます。
基本的にはPOSTの部分がそっくりGETになるだけで難しいことはありません。
<html>
<head>
<title>formの練習</title>
</head>
<body>
<form action="post_pra.php" method="get">
    お名前<input type="text" name="name">
    <input type="submit" value="送信">
</form>
</body>
</html>

<?php
$name = $_GET['name'];

echo '入力されたお名前は『'.$name.'』です。';
?>
名前を入力し、送信してみるとPOSTで受け取ったときと同じ動きをしますが、
アドレスバーを確認すると、送信したデータが表示されていることが分かります。


「?」の後にname属性で付けた名前、「=」の後には送られた内容が
それぞれ表示されます。
動きに変化はありませんが、POSTとの大きな違いはこの部分です。

ログインをして利用するようなサイトでID番号が表示されたり、
検索するときに入力した言葉が表示されたりなど、
見えてもいい部分でGETが利用されます。
逆に会員登録など、パスワードやその他個人情報を送信する場合、
この方法はふさわしくありません。

また、開発中にデータがきちんと送信されているかを確認するために
本来POSTを使う部分でGETを使うといった使い道もあるようです。


aタグとGET

GETにはフォームとは別に、リンクを表記するaタグと組み合わせて利用する
使い方もあります。
この場合、リンク先のパスに「?」以降の内容も書いてそのページに遷移させる
ような形になります。
GETを利用するのはこちらの場合が多いかと思います。

例えば特定のID番号のページにリンクさせたい場合などに使用します。
ここでは「$id」という変数にGETで受け取ったid番号を入れ、
ページに表示をさせてみようと思います。

aタグで遷移させるページのパスの最後に「?○○=××」 という形で記述し、
「○○」の部分に書いた名前がGETで受け取るための部分(フォームでのname属性)
になります。
以下実際に書いてみたものです。
<html>
<head>
<title>getの練習</title>
</head>
<body>
<a href="get_pra.php?id=2">ここをクリック</a>
</body>
</html>

<?php
$id = $_GET['id'];

echo 'ここはID番号'.$id.'のページです。';
?>
この状態からリンクをクリックしてみると…
「$id」が表示されました。アドレスバーの表示にも注目です。


「&」で複数受け渡し

「?」以降の表記を「&」で繋げて、複数のデータを受け渡すことができます。
先ほどのPHPファイルに付け足してみます。
<html>
<head>
<title>getの練習</title>
</head>
<body>
<a href="get_pra.php?id=2&nickname=mariko">ここをクリック</a>
</body>
</html>

<?php
$id = $_GET['id'];
$nickname = $_GET['nickname'];

echo 'ここはID番号'.$id.'・'.$nickname.'のページです。';
?>
クリック前は省略しましたが、ふたつのデータをそれぞれ受け取り、
表示させることができました!


これまで同じページに遷移をさせていましたが、フォームのaction属性や、
aタグのパスを変更すれば、別に用意したページに遷移させることも
もちろん可能です。
データの受け渡しを利用することで
登録フォームなどの確認、完了画面へのページ移動や
会員制のサイトで個人のページを表示したりすることなどが可能になります。

今後勉強するようになるデータベースやセッションと組み合わせることで
より実際のwebサービスに近いものを作ることができるようになります。

4 件のコメント:

gisawa さんのコメント...

<a>タグについて説明がよくわかりました。
ありがとうございました。

take さんのコメント...

ドットインストールでPHPカレンダーを作っていて疑問がでましたが、解決出来ました。

Unknown さんのコメント...

Regardless which model of Rolex See you choosed to dress in, you are definitely that will consideration into the future during fake rolex layout. Any Midsize Rolex Pieces consist of different models together with may be a terrific product or service to your the younger iteration. Most of the great attributes of Rolex happen to be packaged away during just the appropriate specifications together with rolex replica uk expense to your valuable closet within the spirited large amount. Any adventurous type of style and also speed identity within the young ones happen to be fused towards those pieces. Any Rolex Oyster Continuous Datejust Midsize see is definitely fake rolex product or service which are often adored by way of the using the shoe. Any see is certainly packaged away during long lasting genuine chrome steel condition. A good chrome steel oyster clasp secures any see during a put. A set domed chrome steel bezel lends any see elegance together with elegance. Any keep to luminous 60 minute block markers together with gucci outlet beautiful precious metal on the job a good purple switch allows the see top profile. Any external casing within the see is certainly noted utilizing minimal dirt. Semi-automatic or fully automatic chronometer exercise may be a fake patek philippe helpful offer to your operator. Any shining Rolex Business logo is visible within the 12’o alarm clock job. Any magnified go out with slit is positioned during the edge.

Unknown さんのコメント...

ありがとうございます!

コメントを投稿