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タグ)】の章でお話します。


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

パラメータ取得(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の通信方法について詳しく知りたい方は以下を参考にしてください。

【PHP入門】POST送信、GET送信する方法
更新日:2023年3月21日
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のパラメータについてお話しました。

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

それでは、また。

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

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

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close