• このエントリーをはてなブックマークに追加
CakePHPを用いて複数のチェックボックスの値をサーバサイドで取得する
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

CakePHPを用いて複数のチェックボックスの値をサーバサイドで取得する

2013-04-28 16:19
    ●入力画面
    コントローラ:
      public function first_time_registration_for_partners_input_name() {
    $this->set("title_for_layout","拡販パートナー様 - 新規登録 - お名前入力");

    } // end of function

    ビュー:
    <?php echo $this->Form->create(false,array('type'=>'post','action'=>'./first_time_registration_for_partners_input_name_confirm')); /* CakePHP ver2.1 以降では、null ではなく false を設定する。*/ ?>
        
    <?php echo $this->Form->input('勤務地', array(
     'type' => 'select',
     'multiple' => 'checkbox',
     'options' => array('東京', '大阪', '名古屋' , '四国' , '九州'),
     'value' => array('0', 3)
    )); ?>

    <?php echo $this->Form->end(" 確認画面へ進む "); ?>
      


    ●表示画面
    コントローラ:
    public function first_time_registration_for_partners_input_name_confirm(){

    $array = array();
    $array = $this->data['勤務地'];
    $result = "";
    foreach ($array as $key => $value) {
    $result .= $value . "<br/>";
    } // end of foreach

    $this -> set("area", Sanitize::stripAll($result));
    } //end of function


    ビュー:
    <p>表示:<hr> <?php echo $area; ?></p>


    ●解説
    チェックボックスの選択によりサーバーサイドに渡されるのは、地名ではなく、配列の番号である。
    たとえば、東京は0であり、大阪は1 九州は4である。
    デフォルトでチェックさせたい場合は value で配列の番号を指定すればよい。
    サーバサイドでは、配列として扱い、foreach で回して取得する。

    表示例:


    チャンネル会員ならもっと楽しめる!
    • 会員限定の新着記事が読み放題!※1
    • 動画や生放送などの追加コンテンツが見放題!※2
      • ※1、入会月以降の記事が対象になります。
      • ※2、チャンネルによって、見放題になるコンテンツは異なります。
    ブログイメージ
    東京ウェブ制作ブロマガ
    更新頻度: 不定期
    最終更新日:
    チャンネル月額: ¥550 (税込)

    チャンネルに入会して購読

    コメントを書く
    コメントをするにはログインして下さい。