我的程序遇到PHP错误。消息:未定义索引:jenis_kelamin和未定义索引:tanggal_lahir文件名:controllers / siswa.php

时间:2013-11-23 06:48:42

标签: php html continuous-integration

  

未定义的索引:jenis_kelamin

$_POST['jenis_kelamin'] = strtoupper($data['siswa']['jenis_kelamin']);
  

ndefined index:tanggal_lahir

$data['siswa']['tanggal_lahir'] = date('d-m-Y',strtotime($data['siswa']['tanggal_lahir']));

完整代码

function update($id=1)
        {
            //set common properties
            $data['title'] = 'Update siswa';
            $this->load->library('form_validation');
            //set validation properties
                $this->_set_rules();
                $data['action']=('siswa/update/'.$id);

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

                    $data['siswa'] = $this->siswa_model->get_by_id($id)->row_array();
                    $_POST['jenis_kelamin'] = strtoupper($data['siswa']['jenis_kelamin']);
                    $data['siswa']['tanggal_lahir'] = date('d-m-Y',strtotime($data['siswa']['tanggal_lahir']));

                    //set common properties
                    $data['title']='Update siswa';
                    $data['message']='';

                }
                else
                {
                    //save data
                    $id = $this->input->post('id');
                    $siswa=array('nama'=>$this->input->post('nama'),
                        'alamat'=>$this->input->post('alamat'),
                        'jenis_kelamin'=>$this->input->post('jenis_kelamin'),
                        'tanggal_lahir'=>date('Y-m-d', strtotime($this->input->post('tanggal_lahir'))));
                    $this->siswa_model->update($id,$siswa);
                    $data['siswa'] = $this->siswa_model->get_by_id($id)->row_array;

                    //set user message;
                    $data['message']='update siswa success';
                }
                $data['link_back']= anchor('siswa/index/','Lihat Daftar Siswa',array('class'=>'back'));

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

1 个答案:

答案 0 :(得分:0)

在分配数据之前,始终使用 isset 构造(是否为您的变量分配值)来检查变量。< / p>

if(isset($_POST['jenis_kelamin']))
{
$_POST['jenis_kelamin']= strtoupper($data['siswa']['jenis_kelamin']);
}

同样适用于其他变量。

编辑:

像这样更改您的$siswa数组...添加id参数。

$siswa=array('id'=>$id,'nama'=>$this->input->post('nama'),
                        'alamat'=>$this->input->post('alamat'),
                        'jenis_kelamin'=>$this->input->post('jenis_kelamin'),
                        'tanggal_lahir'=>date('Y-m-d', strtotime($this->input->post('tanggal_lahir'))));