[PHP-users 25381] Re: フォームにおける入力チェック

ムー ml_muu @ yahoo.co.jp
2005年 4月 16日 (土) 23:06:00 JST


初心者なもので、茂木さんの仰るところまでも行き着いていま
せんでした。
アンケートフォームなどでよくある「ラジオボタンでその他を
選択したら、テキストスペースで具体的な何かを記入してもら
う」ということをしたかったのです。
結局、以下で逃げました。
ありがとうございました。

    if ( $g_FORM[ $key ][ "CHK_SPRIT" ] == true ) {

      if ( $g_FORM[ $key ][ "VALUE" ] == "" ) {

        $g_FORM[ $key ][ "ERROR" ] = true;

        $g_FORM[ $key ][ "MESSAGE" ] = "必須";

      }

	  else if ( $g_FORM[ $key ][ "VALUE" ] == "その他" &&
$_REQUEST[ "
任意のVALUE" ] == "") {

	  	$g_FORM[ $key ][ "ERROR" ] = true;

        $g_FORM[ $key ][ "MESSAGE" ] = "必須";

        continue;

    }

  }  


--- Katsuo Mogi <mogi-k2 @ msg.biglobe.ne.jp> からのメッセ
ージ:
> こんにちは。茂木です。
> 
> In the message [PHP-users 25376]
> フォームにおける入力チェック
> 
> <20050415141528.1303.qmail @ web3106.mail.bbt.yahoo.co.jp>
> 村重 良子 <ml_muu @ yahoo.co.jp> wrote:
> 
> > 問い合わせフォームなどにおいて、
> > 1. ラジオボタンの必須入力チェックを行う
> >
> 2. 任意のラジオボタンが選択された場合、任意のテキスト
ス
> > ペースへの必須入力チェックを行う
> 
> >
> という処理を行いたいのですが、どのように記述すればよろ
し
> > いでしょうか。
> 
> ループで回すと、ラジオボタンの要素より
> テキストの要素が先に処理される可能性があるため、
> チェックをすり抜けてしまうのだと思います。
> 
> > foreach ( $g_FORM as $key => $setting ) { 
> 
> の部分を
> $form_keys = array('elem1', 'elem2', 'elem3');
> foreach ( $form_keys as $key ) {
> 
> とか明示的に順番を決めて処理してはどうでしょうか。
> 変数を$g_FORMのみで済ませるには少し工夫が必要ですが。
> 
> 蛇足ですが、
> $setting変数は、本当は何かにお使いですか?
> 使ってないのであれば
> foreach ( array_keys($g_FORM) as $key) { 
> 
> とか書くとすっきりするかも。
> 
> ご参考になれば幸いです。
> --
> ---------------------------------
>  茂木克夫
>  mail: mogi-k2 @ msg.biglobe.ne.jp
>  site: http://www.momo.dyndns.org/~katsu/
> ---------------------------------
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ -
> 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

__________________________________
Do You Yahoo!?
Upgrade Your Life
http://bb.yahoo.co.jp/



PHP-users メーリングリストの案内