Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库生成的复选框的未定义索引_Php_Codeigniter_Validation_Checkbox - Fatal编程技术网

Php 从数据库生成的复选框的未定义索引

Php 从数据库生成的复选框的未定义索引,php,codeigniter,validation,checkbox,Php,Codeigniter,Validation,Checkbox,我的CodeIgniter视图中有表单,其中复选框是从数据库生成的 当我在未选中任何复选框的情况下提交表单时,会出现以下错误: 消息:未定义索引:formChecks 我的控制器: public function formularz2() { $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); //Names of checkbo

我的CodeIgniter视图中有表单,其中复选框是从数据库生成的

当我在未选中任何复选框的情况下提交表单时,会出现以下错误:

消息:未定义索引:formChecks

我的控制器:

public function formularz2()
{

    $this->load->helper(array('form', 'url'));
    $this->load->library('form_validation');

    //Names of checkboxes generated from model (DB)
    $data['szkolenia'] = $this->Szkolenie_m->pobierz();

    //Validation
    $this->form_validation->set_rules('imie', 'Imię', 'required');
    $this->form_validation->set_rules('accept_terms_checkbox', 'Checkbox', 'required');
    $this->form_validation->set_message('required', 'Błąd: Powyższe pole jest wymagane');

    //SUBMMIT

    if (!empty($_POST))
    {

    $konsultant = $this->uri->segment(3);

    $dane = array(
        'email1' => $this->input->post('email'),
        'imie' => $this->input->post('imie'),
        'nazwisko' => $this->input->post('nazwisko'),
        'nazwa_firmy' => $this->input->post('firma'),
        'konsultant_id' => $konsultant,
    );

    //Adding checked boxes to another database
    $boxes = $_POST['formChecks'];
    $N = count($boxes);
    $ostatni_id = $this->Osoby_m->ostatni_id();

    for($i=0; $i < $N; $i++)
    {
            $this->Osoby_m->nowy_wpis_formularz($boxes[$i]);    
    }       

    $this->Osoby_m->nowa_osoba($dane);  

    }   

    if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('formularz', $data);
    }
    else
    {
        $this->load->view('wyslano_formularz');
    }
}
                <?php echo form_open(); ?>
              <div class="form-group">
                <label for="email" class="col-sm-2 control-label">Email:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="email" class="form-control" id="email" name="email" placeholder="Email" value="<?php echo set_value('email'); ?>">
                  <p class="help-block"><?php echo form_error('email'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="imie" class="col-sm-2 control-label">Imię:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="imie" name="imie" placeholder="Imię" value="<?php echo set_value('imie'); ?>">
                  <p class="help-block"><?php echo form_error('imie'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="nazwisko" class="col-sm-2 control-label">Nazwisko:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="nazwisko" name="nazwisko" placeholder="Nazwisko" value="<?php echo set_value('nazwisko'); ?>">
                  <p class="help-block"><?php echo form_error('nazwisko'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="firma" class="col-sm-2 control-label">Firma:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="firma" name="firma" placeholder="Firma" value="<?php echo set_value('firma'); ?>">
                  <p class="help-block" style="color:red;"><?php echo form_error('firma'); ?></p>
                </div>
              </div>


            <div class="col-sm-12" style="margin-bottom: 30px; margin-top: 30px;"><h3>Wybierz interesujące Cię szkolenia</h3></div>
              <div class="form-group">
                <label class="col-sm-2 control-label">Szkolenia:</label>
                <div class="col-sm-10">

    ////////////////////////
    ///MY CHECKBOXES LOOP///
    ////////////////////////
                  <?php foreach ($szkolenia as $szkolenie): ?>
                  <div class="checkbox">
                        <label><input id="szkolenie<?php echo $szkolenie->id; ?>" type="checkbox" name="formChecks[]" value="<?php echo $szkolenie->id; ?>"> <?php echo $szkolenie->nazwa_szkolenia; ?></label>         
                        <br>
                    </div>
                    <?php endforeach; ?>

                </div>
              </div>


              <div class="form-group">
                <div class="col-sm-12" style="margin-top: 50px; ">
             <input type="checkbox" name="accept_terms_checkbox" value="1"/> Zgadzam się na otrzymywanie maili od firmy Gamma<br>
              <span style="color: #c92e39;"><p><?php echo form_error('accept_terms_checkbox') ?></p></span>
                </div>
              </div>


              <button type="submit" class="btn btn-lg btn-success" style="margin-top: 50px;">Odbierz Voucher</button>
            <?php echo form_close(); ?>
public function formularz2()
{
$this->load->helper(数组('form','url');
$this->load->library('form_validation');
//从模型生成的复选框名称(DB)
$data['szkolenia']=$this->Szkolenie_m->pobierz();
//验证
$this->form_validation->set_规则('imie','Imię','required');
$this->form_validation->set_rules('accept_terms_checkbox','checkbox','required');
$this->form_validation->set_message('required','Błd:Powyższe pole jest wymagane');
//子MMIT
如果(!空($\u POST))
{
$konsultant=$this->uri->segment(3);
$dane=数组(
'email1'=>this->input->post('email'),
'imie'=>this->input->post('imie'),
'nazwisko'=>this->input->post('nazwisko'),
'nazwa_firmy'=>this->input->post('firma'),
“konsultant_id”=>konsultant美元,
);
//将复选框添加到另一个数据库
$box=$\u POST['formChecks'];
$N=计数($box);
$ostatni_id=$this->Osoby_m->ostatni_id();
对于($i=0;$i<$N;$i++)
{
$this->Osoby_m->nowy_wpis_formularz($box[$i]);
}       
$this->Osoby\u m->nowa\u osoba($dane);
}   
如果($this->form\u validation->run()==FALSE)
{
$this->load->view('formularz',$data);
}
其他的
{
$this->load->view('wyslano_formularz');
}
}
我的观点:

public function formularz2()
{

    $this->load->helper(array('form', 'url'));
    $this->load->library('form_validation');

    //Names of checkboxes generated from model (DB)
    $data['szkolenia'] = $this->Szkolenie_m->pobierz();

    //Validation
    $this->form_validation->set_rules('imie', 'Imię', 'required');
    $this->form_validation->set_rules('accept_terms_checkbox', 'Checkbox', 'required');
    $this->form_validation->set_message('required', 'Błąd: Powyższe pole jest wymagane');

    //SUBMMIT

    if (!empty($_POST))
    {

    $konsultant = $this->uri->segment(3);

    $dane = array(
        'email1' => $this->input->post('email'),
        'imie' => $this->input->post('imie'),
        'nazwisko' => $this->input->post('nazwisko'),
        'nazwa_firmy' => $this->input->post('firma'),
        'konsultant_id' => $konsultant,
    );

    //Adding checked boxes to another database
    $boxes = $_POST['formChecks'];
    $N = count($boxes);
    $ostatni_id = $this->Osoby_m->ostatni_id();

    for($i=0; $i < $N; $i++)
    {
            $this->Osoby_m->nowy_wpis_formularz($boxes[$i]);    
    }       

    $this->Osoby_m->nowa_osoba($dane);  

    }   

    if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('formularz', $data);
    }
    else
    {
        $this->load->view('wyslano_formularz');
    }
}
                <?php echo form_open(); ?>
              <div class="form-group">
                <label for="email" class="col-sm-2 control-label">Email:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="email" class="form-control" id="email" name="email" placeholder="Email" value="<?php echo set_value('email'); ?>">
                  <p class="help-block"><?php echo form_error('email'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="imie" class="col-sm-2 control-label">Imię:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="imie" name="imie" placeholder="Imię" value="<?php echo set_value('imie'); ?>">
                  <p class="help-block"><?php echo form_error('imie'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="nazwisko" class="col-sm-2 control-label">Nazwisko:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="nazwisko" name="nazwisko" placeholder="Nazwisko" value="<?php echo set_value('nazwisko'); ?>">
                  <p class="help-block"><?php echo form_error('nazwisko'); ?></p>
                </div>
              </div>

              <div class="form-group">
                <label for="firma" class="col-sm-2 control-label">Firma:</label>
                <div class="col-sm-10" style="color: #c92e39;">
                  <input type="text" class="form-control" id="firma" name="firma" placeholder="Firma" value="<?php echo set_value('firma'); ?>">
                  <p class="help-block" style="color:red;"><?php echo form_error('firma'); ?></p>
                </div>
              </div>


            <div class="col-sm-12" style="margin-bottom: 30px; margin-top: 30px;"><h3>Wybierz interesujące Cię szkolenia</h3></div>
              <div class="form-group">
                <label class="col-sm-2 control-label">Szkolenia:</label>
                <div class="col-sm-10">

    ////////////////////////
    ///MY CHECKBOXES LOOP///
    ////////////////////////
                  <?php foreach ($szkolenia as $szkolenie): ?>
                  <div class="checkbox">
                        <label><input id="szkolenie<?php echo $szkolenie->id; ?>" type="checkbox" name="formChecks[]" value="<?php echo $szkolenie->id; ?>"> <?php echo $szkolenie->nazwa_szkolenia; ?></label>         
                        <br>
                    </div>
                    <?php endforeach; ?>

                </div>
              </div>


              <div class="form-group">
                <div class="col-sm-12" style="margin-top: 50px; ">
             <input type="checkbox" name="accept_terms_checkbox" value="1"/> Zgadzam się na otrzymywanie maili od firmy Gamma<br>
              <span style="color: #c92e39;"><p><?php echo form_error('accept_terms_checkbox') ?></p></span>
                </div>
              </div>


              <button type="submit" class="btn btn-lg btn-success" style="margin-top: 50px;">Odbierz Voucher</button>
            <?php echo form_close(); ?>

电邮:

此行显示错误:

$box=$\u POST['formChecks']

只需这样检查:

$box=空($_POST['formChecks'])?数组():(数组)$\u POST['formChecks']

试着换掉这个

$boxes = $_POST['formChecks'];

然后检查情况

if(count($boxes)){
   // checked(may be few checkboxes)
} else {
   // not checked
}