「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
PHPUtilプラグイン(その10・GET/POSTされた値を得る)
PHPでは、URLのパラメータや、フォームから送信された情報を、変数として扱うことができます。
PHPUtilプラグインでも、この変数を扱うことができます。
1.URLのパラメータを得る
URLに「?パラメータ名=値&パラメータ名=値・・・」のような部分を付けることで、遷移先のページにパラメータを渡すことができます。
例えば、「http://・・・/somepage.php?user=taro」というページに遷移した場合、sompage.phpには、名前が「user」で値が「taro」というパラメータが渡されます。
PHPでは、URLのパラメータを「$_GET」という連想配列(Perlで言うところのハッシュ)で扱うことができます。
上の例だと、「$_GET['user']」の値が「taro」になります。
PHPUtilプラグインでも、$_GETの値を参照することができます。
それには、MTPHPGetVar等のタグで、「name="_GET" key="パラメータ名"」と指定します。
例えば、上の例の場合、userパラメータで渡された値を出力するには、以下のようにテンプレートを書きます。
<$mt:PHPGetVar name="_GET" key="user" php_encode_html="1"$>
また、「name="_GET" key="user"」を、「name="_GET[user]"」と書いても同じ動作になります。
なお、php_encode_htmlモディファイアを指定していますが、これはクロスサイトスクリプティングを防ぐためのものです。
パラメータとして送信された値を出力する時には、必ずphp_encode_htmlモディファイアを指定します。
2.POSTされた値を得る
PHPでは、フォームからPOSTプロトコルで送信されたデータを、「$_POST」という連想配列(ハッシュ)で扱うことができます。
例えば、フォームにname属性が「user」の要素がある場合、この要素から送信された値は、「$_POST['user']」で得ることができます。
PHPUtilプラグインでも、$_POSTの値を参照することができます。
それには、MTPHPGetVar等のタグで、「name="_POST" key="パラメータ名"」と指定します。
フォームにname属性が「user」の要素があるとします。
また、このフォームはPOSTプロトコルで送信されてくるとします。
この要素から送信された値を出力する場合は、以下のようにテンプレートを書きます。
php_encode_htmlモディファイアを指定していますが、その理由はGETの場合と同じです。
<$mt:PHPGetVar name="_POST" key="user" php_encode_html="1"$>
3.PHPUtilプラグイン関係の記事の一覧
PHPUtil関係のその他の記事は、以下のリンクから参照できます。
- PHPUtilプラグイン(その1・概要とインストール)
- PHPUtilプラグイン(その2・ファイルの読み込み)
- PHPUtilプラグイン(その3・日時関係の処理)
- PHPUtilプラグイン(その4・ユーザーエージェントの判断)
- PHPUtilプラグイン(その5・変数の基本)
- PHPUtilプラグイン(その6・変数の計算)
- PHPUtilプラグイン(その7・配列の利用)
- PHPUtilプラグイン(その8・配列関係の関数)
- PHPUtilプラグイン(その9・ハッシュの利用)
- PHPUtilプラグイン(その10・GET/POSTされた値を得る)
- PHPUtilプラグイン(その11・条件判断前半)
- PHPUtilプラグイン(その12・条件判断後半)
- PHPUtilプラグイン(その13・一定回数の繰り返し)
- PHPUtilプラグイン(その14・配列/ハッシュの出力)
- PHPUtilプラグイン(その15・条件による繰り返し)
- PHPUtilプラグイン(その16・繰り返しを途中で抜ける)
- PHPUtilプラグイン(その17・関数の実行)
- PHPUtilプラグイン(その18・各種のグローバルモディファイア)