0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PHP】スーパーグローバル変数$_GET, $_POST

Posted at

$_GETとは

$_GETとは、PHPの定義済み変数のひとつで、HTTP GETメソッドで送信され、URLパラメーターとして送られてきた値を取得する変数であり、連想配列で使用します。

つまり、HTMLのフォームからGETリクエストされた値を取得したい場合に$_GETを使用します

$_POSTとは

$_POSTとは、PHPの定義済み変数のひとつで、HTTP POSTメソッドで送信された値を取得する変数であり、連想配列で使用します。

つまり、HTMLのフォームからPOSTリクエストされた値を取得したい場合に$_POSTを使用します

GETとPOSTの違い

大きな違いは、サーバーへのリクエストパラメーターの送り方が違います。

※リクエストパラメータとは、PCからサーバーに送るデータのことです。
例) Webページに移動する際のページ情報
ログイン画面のユーザー情報
注文画面の個人情報

画面表示のために必要なパラメーター画面表示のために必要なパラメーターは「GET」
GET = データを取得する
例)表示したい商品や動画のID、ページ番号など

ユーザーが画面に入力して送信するパラメーターは「POST」
POST = データを送信する
例)ログインIDや個人情報など

サンプル

$_GET['key名']

  • <form>タグを利用して HTTP GETメソッドを取得する。method="GET"とする。
    <form>タグ内のname属性をキー値に設定することで取得できる。
test.html
<form action="get.php" method="GET">
   名前: <input type="text" name="name">
   ユーザ番号: <input type="number" name="number">
   <input type="submit" value="GET送信">
</form>
get.php
<?php

if (isset($_GET['name']) && isset($_GET['number'])) {
   echo '名前とユーザー番号が入力されました。';
   echo '名前 : '.$_GET['name'];''
   echo 'ユーザー番号 : '.$_GET['number'];
}


  • <a>タグを利用して HTTP GETメソッドを取得する。送信する値はurlencode()関数でエンコードしてないといけない。urlに直接クエリ文字列を書き込ムことで取得できる。
test.html
// date, page をキー値に設定
<a href="get.php?date=<?php echo urlencode(time()) ?>&page=3">get.phpに遷移します</a>
get.php
<?php

echo '現在日付 : '.date("Y/m/d", $_GET['date']).'<br>';
echo 'ページ番号 : '.$_GET['page'];



$_POST['key名']

  • <form>タグを利用して HTTP POSTメソッドを取得する。method="POST"とする。
    <form>タグ内のname属性をキー値に設定することでデータを送信できる。
test.html
  <form action="post.php" method="POST">
      ユーザー名 : <input type="text" name="username"><br>
      ユーザー番号 : <input type="number" name="usernumber"><br>
      メールアドレス : <input type="text" name="mail"><br>
      住所 : <input type="text" name="adress"><br>
      性別 : <input type="radio" name="gender" value="man"><input type="radio" name="gender" value="woman"><br>
      <input type="submit" value="送信">
    </form>
post.php
   echo 'ユーザー名 : '.$_POST['username'];
   echo 'ユーザー番号 : '.$_POST['usernumber'];
   echo 'メールアドレス : '.$_POST['mail'];
   echo '住所 : '.$_POST['adress'];
if ($_POST['gender'] == 'man') {
   $gender = '男';
} else {
   $gender = '女';
}
   echo '性別 : '. $gender;

参考


著者: E.R (株式会社ウィズツーワン)
0
0
2

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?