PHPのパラメータはこれで解決!値送信から取得まで解説

パラメータとは、値の事です。

プログラムを書いているとパラメータ=値はとても大事な要素です。

画面から入力した値をプログラムに送る等、意識する事はとても多いと思います。

今回はそんなパラメータの扱いについて以下の内容でお話します。

【解説】パラメータを使う時
【実践】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.phptest2.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の通信方法について詳しく知りたい方は以下を参考にしてください。

【PHP入門】POST送信、GET送信する方法
更新日 : 2019年8月7日

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のパラメータについてお話しました。

パラメータは使う機会が多いので、送信方法や受信方法について整理して覚えておいてください。

それでは、また。

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

つぶらや

つぶらや

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説