先日からWebサイトを勉強しながら作成しているのですが、いろんな知識を必要とするため、しばらくは調べたこと・テストしたことの備忘録が続きます。
今回は、PHP で受信するPHPパラメータに関しての記録です。
URLとは?
http://localhost/test.php ← これが、URLです。
URLとは、Webサイトのアドレス(住所)のことですね。
URLをブラウザのアドレスバーに入力し、リクエストすることにより、その指定されたWebページなどがサーバーから送られてきます。
URLは、どのような方法(http)で、どこにある(localhost)、何というファイル(test.php)を送ってもらうか指定します。
尚、どこにある 部分は、サーバーによってホスト名が違いますのでそれに合わせてください。
ここでは、XAMPP を用いて作られた自分のパソコン内のサーバーを使うことを前提に URL を書いています。
URLの省略形式
https://bonokara.com/ ← これは、本ブログのURLですが、
どのような方法(https)で、どこにある(bonokara.com)までは書かれていますが、何というファイルの部分は省略されています。
しかし、省略されていはいますが、何らかのファイルの内容が送られてきます。
これは、サーバー側に省略したURLでリクエストがあった場合、何という名前のファイルを送り返すか設定されていますので、その設定に従ってファイルが送り返されます。
URLパラメータ
URLには、さらに何というファイルかの後ろに「?」を付け、以下のような設定をする場合があります。
- http://localhost/test.php?id=12
- http://localhost/test.php?id=99&name=abc
この「?」以下の部分を URLパラメータ(変数)と呼んでいます。
URLパラメータとは、リクエストしているファイルに渡してあげるデータのことです。
http://localhost/test.php?key名=値&key名=値&key名=値&key名=値・・・
という書式となります。
渡したい値を「?」の後ろに「key名=値」のようにセットします。
渡したい値が複数の場合は、「&」を区切り文字として、「key名=値」を必要な個数分書きます。
呼び出されたファイルは、このデータを内部に取り込み、そのデータを使って何らかの処理をします。
そして、その結果を含めて処理した内容がクライアント側(ブラウザ)に送られます。
URLパラメータを受け取る処理
以下、具体的にアクセスされた PHP ファイルでのURLパラメータの受け取り方を説明します。
↑が test.php の内容とします。
1つのURLパラメータを取り込み、それを表示するという最小限の処理をしています。
http://localhost/test.php?id=12 とリクエストされた時の test.php 内での処理として、
$id = $_GET[‘id’];
の行で「id=12」で指定された 12 を$id に取り込んでいます。
echo $id;
で、表示ですね。
エラー処理を加える
上の処理では、値が入っていなかったり、上手く渡っていなかった場合エラーが起こるので、エラー処理も行うようにすると以下のようになります。
このようにエラー処理をするのが、従来の方式です。
エラー処理のコードを短くする
上のエラー処理部分は、
このように1行で書いても同等のエラー処理を行うことができます。
こちらの方が視認性も良いので、このように書いて取り込む方が良いです。
複数個のURLパラメータの受け取り方
http://localhost/test.php?id=99&name=abc ← のような、URLパラメータを複数個設定してあるリクエストがあった場合、
↑のように、
変数名 = filter_input(INPUT_GET, ‘key名’);
を取り込む順に書けばOKです。
一応、以上で PHP でのURLパラメータ取り込み処理は問題ないかと思います。
詳細は、多くの PHP の解説サイトがありますのでググってみてください。
コメント