Pear フォ-ム2作成
PHP ファイル
form2_quick.php


63Pear Villageに戻る

  <?php

header('Content-type:text/html;charset=utf-8');

//この宣言がないと日本語表示が文字化け
  require_once
   'HTML/QuickForm2.php';
  require_once
   'HTML/QuickForm2/Renderer.php';
  $form = new HTML_QuickForm2
   ('newus','POST');
/*
 form name="newus" id="newus"
 フォームの method 属性のデフォルト値は
 POST、action 属性のデフォルト値は
 現在のファイル名
 フォームの生成 addElementメソッドを使用
*/
  $formInfo = $form
   ->addElement
   ('fieldset', 'title',
   array('style' =>
   'width:300px;margin:10px 0px;'))
   ->setLabel
   ("<br> 会員登録準備<br><br>");
/*
 form部品の種類,name,入力欄の名称
 の順に記入
*/ 
  $uname = $formInfo 
    ->addElement
    ('text', 'uname',
    array('style' => 
    'width:150px;margin:5px 32px;'))
    ->setLabel(" 名前");
  $email = $formInfo
    ->addElement('text', 'email',
    array('style' =>
    'width:240px;margin:5px 32px;'))
    ->setLabel(" メ-ルアドレス");	 
  $formInfo 
    ->addElement('submit', 'submit',
    array('style' =>
    'width:90px;margin:10px 32px;',
    'value' => "準備"));
/*
 form部品submitの時は name,value
 の順に記入
 検証ルールの定義 addRule メソッド
 を使用
 name,エラメッセージ,検証タイプ
 の順に記入
*/
  $email ->addRule
  ('required', '<font color="red">
   &emsp;&emsp;&nbsp;
   メ-ルアドレスは必須です
   </font>');
  $email ->addRule
  ('regex', '<font color="red">
   &emsp;&emsp;&nbsp;
   メ-ルアドレスが不正です
  </font>',

'/^[a-zA-Z0-9][a-zA-Z0-9_¥.¥-]+@[A-Za-z0-9_¥.¥-]+$/'

  );
  $uname ->addRule
   ('required', '<font color="red">
    &emsp;&emsp;&nbsp;
    名前は必須です</font>');
  $uname ->addRule
   ('maxlength',
    '<font color="red">
    &emsp;&emsp;&nbsp;
    1~10文字(すべて全角文字の時)<br>
    &emsp;&emsp;&nbsp;
    で記入してください</font>', 30);
  $formInfo ->
    addFilter('htmlspecialchars');
  $renderer = 
  HTML_QuickForm2_Renderer::factory
   ('default');
  $renderer 
   ->setOption(array(
   'required_note' =>
    "&emsp;&emsp;&nbsp;
    * 必須入力項目<br><br>"));
// フォームの検証
  if ($form->validate()) {
   echo
    "<br>会員登録のため<br>&emsp;"
    .htmlspecialchars
     ($_POST["uname"])
    ."<br>さんのメ-ルアドレス<br>
     &emsp;"
    .$_POST["email"]
    ."<br>を準備しました
     <br><br>";
/*
 header("Location: **_check.php");
 必要に応じて飛び先を記入
*/ 
  }else{	
// フォームの表示
    echo $form ->
     render($renderer);
  }
?>