PHPでHTMLフォームのRADIOやSELECTの値を受け取る

(1/1)
PHPでHTMLフォームやコマンドラインから値を受け取る」では、HTMLのFORMの INPUT から入力した値を取り出すプログラムを作った。今回は、そのプログラムを利用し、HTMLフォームの RADIOSELECT で入力した値を含めて取り出すプログラムを

(2023年4月23日)タイトル変更,プログラム改訂

目次

サンプル・プログラムの実行例

PHPでGET/POSTでフォームから値を受け取る(その2)

サンプル・プログラム

圧縮ファイルの内容
formParam.phpサンプル・プログラム本体
pahooInputData.phpデータ入力に関わる関数群。
使い方は「数値入力とバリデーション」「文字入力とバリデーション」などを参照。include_path が通ったディレクトリに配置すること。
formParam.php 更新履歴
バージョン 更新日 内容
2.1.0 2023/04/22 主要関数を 'pahooInputData.php' に分離
2.0 2022/05/07 コマンドライン動作対応(CUI版)
1.1 2021/02/17 PHP8対応,リファラチェック追加
1.0 2016/01/03 初版
pahooInputData.php 関数/メソッド一覧
関数/メソッド 機能 詳細
exitIfLessVersion PHPが指定したバージョン未満ならメッセージを表示して強制終了する.
isCommandLine コマンドラインから起動されたかどうかを求める.
isButton HTML FORMで指定したボタンが押されたかどうかを求める. スーパーグローバル変数 $_GET, $_POST およびコマンドライン引数を参照する.
getParam HTML FORMで指定したINPUTの内容を取り出す. スーパーグローバル変数 $_GET, $_POST およびコマンドライン引数を参照する.
validNumber 数値バリデーションを行う. 数値が整数か小数かを指定し,最小値と最大値を指定する.
getValidNumber HTML FORMで指定したINPUTの内容を数値として取り出す(バリデーション付き) スーパーグローバル変数 $_GET, $_POST およびコマンドライン引数を参照する.
validString 文字列バリデーションを行う. スーパーグローバル変数 $_GET, $_POST およびコマンドライン引数を参照する.文字列の最小長,最大長,排除または受容するパターンを指定する.
getValidString HTML FORMで指定したINPUTの内容を文字列として取り出す(バリデーション付き) スーパーグローバル変数 $_GET, $_POST およびコマンドライン引数を参照する.
getPasswordHash パスワード・ハッシュをつくる.
veryfyPassword パスワードがハッシュに合致するかどうかを求める.

解説:配列を準備

  48: //radio配列
  49: $ItemRadio = array('日本語'=>1, '英語'=>2, '中国語'=>3);
  50: 
  51: //select配列
  52: $ItemSelect = array('--選択--'=>0, '睦月'=>1, '如月'=>2, '弥生'=>3, '卯月'=>4, '皐月'=>5, '水無月'=>6, '文月'=>7, '葉月'=>8, '長月'=>9, '神無月'=>10, '霜月'=>11, '師走'=>12);

FORMで RADIO を表示するための配列を $ItemRadio に用意する。
配列の要素は画面に表示するキーを、値はVALUEに設定するデータである。

同様に、SELECT を表示するための配列を $ItemSelect に用意する。

解説:ラジオボタンを作成

 115: /**
 116:  * 指定した配列にもとづきラジオボタンを作成する.
 117:  * @param   string $name   radioのNAMEおよびID
 118:  * @param   array  $items  radio用配列
 119:  * @param   string $def    選択されているradioの値/NULL:無選択(省略時)
 120:  * @return  string HTMLコンテンツ
 121: */
 122: function makeRadio($name, $items, $def=NULL) {
 123:     $html = '';
 124:     foreach ($items as $key=>$val) {
 125:         $checked = ($val == $def? ' checked' : '';
 126:         $html .=<<< EOT
 127: <input type="radio" id="{$name}" name="{$name}" value="{$val}"{$checked}>{$key} 
 128: 
 129: EOT;
 130:     }
 131: 
 132:     return $html;
 133: }

前述の配列 $ItemRadio を引数として渡してラジオボタンのHTML文を作成するユーザー関数が makeRadio である。
INNPUTオブジェクトのNAME属性及びID属性は引数 $name で指定する。
引数 $def を指定すると、あらかじめ選択するラジオを選べる。
選択した値を戻り値とする。

解説:選択した値を受け取る

 223: //パラメータ取得
 224: $param    = getParam('param',    TRUE,  '');
 225: $language = getParam('language', FALSE, '');
 226: $month    = getParam('month',    FALSE, '');
 227: 

ラジオボタンやプルダウンリストから値を受け取るには、「PHPでHTMLフォームやコマンドラインから値を受け取る」で作成した getParam 関数が利用できる。

参考サイト

(この項おわり)
header