LoginSignup
2
2

More than 3 years have passed since last update.

PHP URLパラメータ,GET,POSTについてまとめてみた。

Last updated at Posted at 2021-02-26

はじめに

・前提知識として、httpプロトコルがわかる方。
・URLパラメータ,GET,POSTについて、よくわからない方。
・Web系に関する知識に興味がある方。

URLパラメータ

・サーバーに情報をおくるために用意する、
 URLの文末に渡す値(変数)などのこと。

 (クエリ文字列ともよ呼ぶ)
※URLの末尾に『?』を追加しその後に、『パラメータ(値)』
 『URL』+『?』+『パラメータ』

サンプルコード (aタグを利用して表現)
query.php

<?php 

// 『?』 以降がURLパラメータ
echo '<a href="queryGet.php?valueGet=これはパラメータです">GET</a>';

 ?>

GET

・httpプロトコルのメソッドの1つ。
 リクエストする情報をURLパラメータで付与する通信方式。

※GETで送信した値を取得するには$_GETを使用。
 $_GETは連想配列として値が格納される。

サンプルコード
query.php

<?php 

// 『?』 以降がURLパラメータ (URLパラメータを付与したので、GETされる)
echo '<a href="queryGet.php?valueGet=これはパラメータです">リンク</a>'; 

 ?>
queryGet.php

<?php

// // GETで送信された値を取得し、配列として格納される
echo $_GET['valueGet'];
echo '<br>';

// $_GETが連想配列であるかの確認
 echo gettype($_GET);

 ?>
実行結果

・query.php

スクリーンショット 2021-02-26 17.56.54.png

・queryGet.php

スクリーンショット 2021-02-26 16.33.09.png

POST

・GET同様、httpプロトコルのメソッドの1つ。
 メッセージボディに入力した値を付与する通信方式。

※フォームから入力された値などが該当する。
 POSTで送信した値を取得するには$_POSTを使用。
 $_POSTは$_GETと同様、
 連想配列として値が格納される。

サンプルコード
formPost.php

<form action = "formPost.php" method = "post">
    <br>
    <input type="text" name="valuePost">
    <input type="submit" value="送信">
</form>

formPost.php
<?php

// POSTで送信された値を取得し、連想配列として格納される
echo $_POST['valuePost'];
echo '<br>';

// $_POSTが配列であるかの確認
echo gettype($_POST);

 ?>
実行結果

・form.php

スクリーンショット 2021-02-26 17.53.00.png


・formPost.php

スクリーンショット 2021-02-26 17.54.22.png

まとめ

・GET,POST↓
 httpプロトコルのメソッド。

・GET↓
 URLパラメータを付与して通信。

・POST↓
 フォームなどを利用してデータを付与して通信。

・$_GET↓
 GETで送信したデータを取得するために使用。

・$_POST↓
 POSTで送信したデータを取得するために使用。

※余談

・GETはURLに直接付与するので目で見えてしまう。
 以下のように↓
スクリーンショット 2021-02-26 18.29.36.png

このような理由から、
機密性の高い情報はGETを使用することは推奨されていません。

・POSTはメッセージボディに値を付与するため、
 上記の画像のように確認はできない

※しかし、通信を盗聴されたら見れるため
 セキュリティには注意が必要。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2