0

このコードで、チェックボックス (1 = チェック済みまたは 0 = チェックなし) の値を取得しようとしました (これはコード Igniter のビューです):

<input type="checkbox" name="Visible" class="text" value="1"
                <?php $visible = isset($_POST['Visible'])? '1' : '0';?>/>

私の質問は次のとおりです。

  1. $visible の結果が常に NULL である理由を誰かが説明してくれますか?
  2. この場合の機能は何value="1"ですか?私はこのケースを検索していましたが、人々は常に値を追加する必要があると言っています。
  3. 正しい値を取得する方法は? (1 = チェックされているか 0 = チェックされていない)

ありがとうございます。これは非常に単純な質問ですが、昨日からいくつかのエラーが発生します @_@

これはコードの大部分です: Add 関数は保存用です (コントローラー内):

function add(){

    $data['title'] = 'Tambah Category baru';
    $data['action'] = site_url('category/add');
    $data['link_back'] = anchor('category/index/', 'Back to Category list', array('class'=>'back'));

    //bedakan add/update
    $data['validate'] = 'add';

    $this->_set_rules();
    //run validation
    if($this->form_validation->run() == false){
        $data['message'] = '';

        $data['title'] = 'Add new Category';
        //$data['message'] = '';
        $data['category']['ID_category'] = '';
        $data['category']['ID_user'] = '';
        $data['category']['Nama_category'] = '';
        $data['category']['Description'] = '';
        $data['category']['Visible'] = '';
        $data['link_back'] = anchor('category/index/', 'Lihat daftar Category', array('class'=>'back'));

        $this->load->view('category_form_v', $data);
    }

    else{
        //save data
        $category = array('ID_category'=>$this->input->post('ID_category'),
        'ID_user'=>'TESTING USER',
        'Nama_category'=>$this->input->post('Nama_category'),
        'Description'=>$this->input->post('Description'),
        'Visible'=>($$this->input->post('Visible') !== false ? '1' : '0'),
        'tgl_buat '=>date('Y-m-d H:i:s'));

        $ID_category = $this->category_m->save($category);

        $this->validation->ID_category = $ID_category;

        redirect('category/index/add_success');
    }
}

そして私のHTMLコード(ビュー内):

<td valign="top">Visible<span style="color:red;">*</span></td>
                <td><input type="checkbox" name="Visible" class="text"/>
4

1 に答える 1

0

代わりに入力ライブラリを使用してください。

具体的には投稿機能

$visible = ($this->input->post('Visible') !== false ? 1 : 0);

質問の更新後に更新

function add(){

    $data['title'] = 'Tambah Category baru';
    $data['action'] = site_url('category/add');
    $data['link_back'] = anchor('category/index/', 'Back to Category list', array('class'=>'back'));

    //bedakan add/update
    $data['validate'] = 'add';

    $this->_set_rules();
    //run validation
    if($this->form_validation->run() == false){
        $data['message'] = '';

        $data['title'] = 'Add new Category';
        //$data['message'] = '';
        $data['category']['ID_category'] = '';
        $data['category']['ID_user'] = '';
        $data['category']['Nama_category'] = '';
        $data['category']['Description'] = '';
        $data['category']['Visible'] = '';
        $data['link_back'] = anchor('category/index/', 'Lihat daftar Category', array('class'=>'back'));

        $this->load->view('category_form_v', $data);
    }

    else{
        //save data
        $category = array('ID_category'=>$this->input->post('ID_category'),
        'ID_user'=>'TESTING USER',
        'Nama_category'=>$this->input->post('Nama_category'),
        'Description'=>$this->input->post('Description'),
        'Visible'=>($this->input->post('Visible') !== false ? '1' : '0'),
        'tgl_buat '=>date('Y-m-d H:i:s'));

        $ID_category = $this->category_m->save($category);

        $this->validation->ID_category = $ID_category;

        redirect('category/index/add_success');
    }
}
于 2012-09-09T11:37:43.843 に答える