.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 4
.
<< Prev
定義済み変数による送信データの取得
« INDEX »
PHP WEB要素編
Next >>
XSS(クロスサイトスクリプティング)について
作成日:2006/05/23

2B.3 フォーム変数での配列の使用

 PHPではフォーム要素名にPHPの配列を使用する事が可能です。 この手法は以下のような場合に使用します。

  1. 関連するフォーム要素をクループ化する場合
  2. 複数選択可能なselect要素の値を取得する場合


シナリオ用例
テキストボックスの
配列
<form>
arr <input type="text" name="arr[]" value="a"><br>
arr <input type="text" name="arr[]" value="b"><br>
arr <input type="text" name="arr[]" value="c"><br>
<input type="submit">
</form>

<?php print_r($_GET['arr']) ?>
// [送信]ボタンを押すと Array ( [0] => a [1] => b [2] => c ) を出力します。
// ※ テキストが未入力の場合も配列要素は作成されます。
チェックボックスの
配列
<form>
<input type="checkbox" name="chk[]" value="1" checked>Item1<br>
<input type="checkbox" name="chk[]" value="2" checked>Item2<br>
<input type="checkbox" name="chk[]" value="3">Item3<br>
<input type="submit">
</form>

<?php print_r($_GET['chk']) ?>
// [送信]ボタンを押すと Array ( [0] => 1 [1] => 2 ) を出力します。
// ※ 未チェックの配列要素は作成されません。
// ※ 全て未チェックの場合はフォーム変数自体が送信されません。
複数選択可能な
select要素
<form>
<select name="sel[]" multiple>
<option value="1" selected>Item1</option>
<option value="2" selected>Item2</option>
<option value="3" >Item3</option>
</select><br>
<input type="submit">
</form>

<?php print_r($_GET['sel']) ?>
// [送信]ボタンを押すと Array ( [0] => 1 [1] => 2 ) を出力します。
// ※ 配列でない変数名を使用すると最後の値しか取得できません。
// ※ 全て未チェックの場合はフォーム変数自体が送信されません。
JaveScriptからの
アクセス
// フォーム要素にPHPの配列を使用した場合、
// その要素をクライアントサイドのJavaScriptでアクセスするには
// 要素名をシングルクォートで囲みます。
function OnCheck(){
  var arr = new Array();
  for(i=0; i< document.forms[0].elements['arr[]'].length; i++){
    arr[i] = document.forms[0].elements['arr[]'][i].value;
  }
  alert(arr);
}
・・・
<form>
arr <input type="text" name="arr[]" value="a"><br>
arr <input type="text" name="arr[]" value="b"><br>
arr <input type="text" name="arr[]" value="c"><br>
<input type="submit">
</form>
<< Prev
定義済み変数による送信データの取得
« INDEX »>
Page Top
Next >>
XSS(クロスサイトスクリプティング)について

.