フォームデコード フォームデコードとテンプレートファイル

フォームデコードとテンプレートファイルの関係

フォームデコードで入力された内容に従い、テンプレート内の特別な文字列が適宜「置き換わる」というのがテンプレートの機能です。

フォームデコードのテキストボックスに「朝日太郎」と入力して送信。

フォームデコードの表示
お名前
フォームデコードのタグ お名前<input type="text" NAME="NAME">

テンプレートファイルの$VAL{変数名}が、変数名と同じNAME属性のフォームの入力内容を読み取り、置き換わります。

テンプレートの文字列 お名前:$VAL{NAME}

処理結果

表示 お名前:朝日太郎

テンプレートで利用する特別な文字列

テンプレートの作成に利用する、特別な文字列の説明です。

文字列一覧

  • $VAL{変数名}
  • $_IF{VAL,変数名,比較値,結果値1,結果値2}
  • $_SELECT{VAL,変数名,比較値1,結果値1,比較値2,結果値2,...}
  • $_DUMPVAR{VAL}
  • $$

$VAL{変数名}

$VAL{変数名}という文字列が、変数名と同じNAME属性のフォームの入力内容に置き換わります。
主にテキストボックスやテキストエリアのテンプレートに使用します。

例:テキストエリア

フォームデコードのテキストエリアに「安い」と入力して送信。

フォームデコードの表示
感想
フォームデコードのタグ 感想<br>
<textarea NAME="comment" ROWS="4" COLS="30"></textarea>

テンプレートファイルの$VAL{変数名}が、変数名と同じNAME属性のフォームの入力内容を読み取り、置き換わります。

テンプレートの文字列 感想:$VAL{comment}

処理結果

表示 感想:安い。

$_IF{VAL,変数名,比較値,結果値1,結果値2}

二択もしくは複数選択が可能な選択肢の場合、$_IF{...}を使用します。
$_IF{...}の文字列が、同じNAME属性のフォームデコードの選択内容が「比較値1」と一致すれば「結果値1」に、一致しなければ「結果値2」に置き換わります。
主にラジオボタンやチェックボックスのテンプレートに使用します。

例:ラジオボタン

ラジオボタンから「男性」を選択して、送信。

フォームデコードの表示
性別 男性 女性
フォームデコードのタグ 性別 <input type="radio" NAME="sex" VALUE=" man">男性 <input type="radio" NAME="sex">女性

テンプレートファイルの$_IF{...}が、変数名と同じNAME属性のフォームの入力内容を読み取り、置き換わります。

テンプレートの文字列 性別:$_IF{VAL,sex,man,男性,女性}

処理結果

表示 性別:男性

例:チェックボックス

チェックボックスから「アメリカ」と「フランス」を選択して、送信。

フォームデコードの表示
行きたい国は? (複数選択可能)
アメリカ
中国
フランス
ドイツ
フォームデコードのタグ 行きたい国は? (複数選択可能)<br>
<input type="checkbox" NAME="usa" VALUE="country">アメリカ<br>
<input type="checkbox" NAME="china" VALUE="country">中国<br>
<input type="checkbox" NAME="france" VALUE="country">フランス<br>
<input type="checkbox" NAME="germany" VALUE="country">ドイツ

テンプレートファイルの$_IF{...}が、変数名と同じNAME属性のフォームの入力内容を読み取り、置き換わります。
ここでは、結果値2を空欄にしています。また、処理後に見やすくなるよう、結果値1の国名の後ろに・ (中黒)を付加しています。

テンプレートの文字列 行きたい国は?: $_IF{VAL,usa,country,アメリカ・,} $_IF{VAL,china,country,中国・,} $_IF{VAL,france,country,フランス・,} $_IF{VAL,germany,country,ドイツ・,}

処理結果

表示 行きたい国は?:アメリカ・フランス・

$_SELECT{VAL,変数名,比較値1,結果値1,比較値2,結果値2,...}

複数の選択肢から結果を1つだけ求める場合、$_SELECT{...}を使用します。
$_SELECT{...}の文字列が、同じNAME属性のフォームデコードの選択内容が「比較値1」と一致すれば「結果値1」に「比較値2」と一致すれば「結果値2」に置き換わります。
主にラジオボタンやプルダウンメニューのテンプレートに使用します。

例:プルダウンメニュー

プルダウンメニューから「赤」を選択して、送信。

フォームデコードの表示
好きな色は?
フォームデコードのタグ 好きな色は?
<SELECT NAME="color">
<option selected>選んでください。</option>
<option VALUE="red">赤</option>
<option VALUE="blue">青</option>
<option VALUE="yellow">黄色</option>
</select>

テンプレートファイルの$_SELECT{...}が、変数名と同じNAME属性のフォームの入力内容を読み取り、置き換わります。

テンプレートの文字列 好きな色は?:$_SELECT{VAL,color,red,赤1,blue,青,yellow,黄}

処理結果

表示 好きな色は?:赤

$_DUMPVAR{VAL}

確認ページのテンプレート必須の文字列です。テンプレートの<form>~</form>内にそのままコピー&ペーストしてください。<form>~</form>内であれば、記述場所はどこでも構いません。

$$

特別な文字列以外で、テンプレートファイルに $ (ドル記号)を記述する場合、$$ のように2つ並べてください。

テンプレートファイルの記述例

テンプレートファイルの記述 この食べ物は10$$です。

テンプレートファイルの $$$ に置き換わります。

表示 この食べ物は10$です。
ページ上部にもどる