2010年10月22日

[PHP-users 35381] Re:チェックボックスにチェックがない場合

こんにちは。
安孫子です。


> if (isset($_REQUEST['hoge'])) {
> if (count($_REQUEST['hoge']) === 1 and $_REQUEST['hoge'][0] === 'no data') {
> // hiddenに入れたno dataだけがきているのでhogeを空値にする
> } else {

> // no data以外のhoge配列で値を更新する
> }
> }

上記の記述がそもそも、

if (!isset($_REQUEST['hoge'])) {
// checkされていないので、hogeを空値で更新する
} else
// no data以外のhoge配列で値を更新する
}

とできないのは、どのような理由でしょうか。

もし、POST/GET送信されて来ているのかどうかの確認を行っていないようでしたら、
<input type="hidden" name="send_form" value="1">
などをHTMLに加えて、

if (isset($_REQUEST['send_form'])) {

//
// そのほかのフォーム送信されてきた情報を処理
//

//checkboxの処理
if (!isset($_REQUEST['hoge'])) {
// checkされていないので、hogeを空値で更新する
} else
// no data以外のhoge配列で値を更新する
}
}

などとしてみてはいかがでしょうか。
(もしかしたら、そのほかの処理もシンプルになるかも?)

少し論点がずれている可能性もありますが、
いかがでしょうか。


_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年10月22日 16:54
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/99405
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。