パラメータとは、値の事です。
プログラムを書いているとパラメータ=値はとても大事な要素です。
画面から入力した値をプログラムに送る等、意識する事はとても多いと思います。
今回はそんなパラメータの扱いについて以下の内容でお話します。
【解説】パラメータを使う時
【実践】URLにパラメータをつける
【実践】<form>でパラメータを送る
解説はわかりやすく行います。是非読んでみてください。
パラメータについて
パラメータを使う機会はどんな場合があるでしょうか。
・ユーザーに値を入力させる
・画面間で値を保持して、次の画面に送る
様々な場面が考えられます。
入力や保持するにしても、どのように行うのでしょうか。
主に2つのパターンがあります。
URLにつける
1つ目の方法はURLにパラメータを付ける方法です。
以下のようなURLを目にしたことはないでしょうか。
https://samuraitest.xxxx/?a=1 ※上記は有効ではないURLです。
この【a=1】の1がパラメータになります。
https://samuraitest.xxxx/にaという名前で1というパラメータを送っている事になります。
このaにつけたパラメータを受け取るためには、スーパーグローバル変数の$_GETを使用します。
次の【パラメータ取得(URL)】の章で具体的にお話します。
<input>タグに記述する
2つ目の方法は<input>タグに記述する方法です。
<input type="hidden" name="a" value="1">
nameにパラメーターを受け取るための名前、valueにパラメーターを設定します。
パラメータを受け取るためには、スーパーグローバル変数の$_POSTを使用します。
具体的な記述方法や受け取り方は【パラメータ取得(formタグ)】の章でお話します。
パラメータ取得(URL)
それではURLにつけたパラメータの送受信について、具体的な動きをサンプルコードを使ってお話します。
ローカル環境(http://127.0.0.1/)でtest.phpというファイルを用意しました。
※URLはローカル環境の設定で変わります。
コードの中身は以下です。
<?php echo $_GET['a'];
$_GETは配列で渡されます。
今回欲しいのは【a】のキーだけですので、【a】を表示するように記述しています。
そして、以下のURLを実行します。
http://127.0.0.1/test.php?a=1
結果 1
画面には1と表示されました。
URLに記述したaという名前のパラメータが、test.phpに送られたことの確認ができました。
パラメータ取得(formタグ)
最後に、formタグ/inputタグを使用した値の送受信について、具体的な動きをサンプルコードを使ってお話します。
まずPHPが動く環境に、test.phpとtest2.phpという2つのファイルを用意します。
■test.php
<!-- ① --> <form method="POST" action="/test2.php"> <!-- ② --> <input type="hidden" name="a" value="2"> <!-- ③ --> <input type="submit" value="送信" /> </form>
①
inputタグ単体では動きませんので、必ず【<form></form>】で囲う必要があります。
また、methodは通信方法で、POSTを指定しました。
POST、GETの通信方法について詳しく知りたい方は以下を参考にしてください。
actionではパラメータの送り先を書く必要がありますので、今回はtest2.phpを指定しました。
②
ここで、inputタグでパラメータを記述します。
今回は画面には表示されないtype="hidden"を設定しました。
ユーザーに入力させる場合は、type="text"でテキストボックスを表示させるようにします。
③
test.phpを表示させるだけでは値の送信はされないので、送信ボタンを作ります。
type="submit"として、ボタンの表示名はvalueに書けば好きな表示名になります。
■test2.php
<?php echo $_POST['a'];
test.phpから送られてきた値を受け取って表示させます。
スーパーグローバル変数の$_POSTに配列として入ってくるため、【a】だけを表示するように記述しています。
結果 2
値が受け取れることの確認ができました。
まとめ
今回はPHPのパラメータについてお話しました。
パラメータは使う機会が多いので、送信方法や受信方法について整理して覚えておいてください。
それでは、また。