gpt4 book ai didi

Php Codeigniter,验证空值

转载 作者:行者123 更新时间:2023-11-29 11:34:26 24 4
gpt4 key购买 nike

我的项目中有以下代码:

public function new_inspection_report() {

$NOWdate = new Datetime('now');
$this->check_session();
$this->restrict_ordinary();

$truckno = $this->uri->segment(2);

$data['title'] = "New Inspection Report";

$data['result'] = $this->truck->find_truckbyid($truckno);
$data['regno'] = $data['result']['registrationno'];
$data['odometer'] = $this->truck->validate_odemeter($truckno,$this->input->post('odometerreading'),"mypms_inspection_report");
$data['lastodometer'] = $data['odometer']['odometerreading'];
$data['date'] = $this->truck->validate_date($truckno,$this->input->post('datestarted'),"mypms_inspection_report","date");
$data['lastdate'] = $data['date']['date'];


$this->load->library('form_validation');
$this->form_validation->set_error_delimiters("<div class='row'><div class='col-lg-12'><div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><i class='fa fa-info-circle'></i>&nbsp;", "</div></div></div>");

$data['validateodometer'] = $this->truck->validate_odemeter($truckno,$this->input->post('odometerreading'),"mypms_inspection_report");
$data['validatedate'] = $this->truck->validate_date($truckno,$this->input->post('datestarted'),"mypms_inspection_report","date");

if($this->form_validation->run('new_inspectionreport') === FALSE) {

$this->load->view('header',$data);
$this->load->view('new_inspection_report',$data);
$this->load->view('footer',$data);

}else{

if($this->input->post('odometerreading') < $data['validateodometer']['odometerreading']) {
$this->session->set_flashdata('success_insert', "4");
redirect(base_url("new-inspection-report/".$truckno));



}else{


if($this->input->post('datestarted') < $data['validatedate']['date']) {

$this->session->set_flashdata('success_insert', "5");
redirect(base_url("new-inspection-report/".$truckno));

}elseif ($this->input->post('datestarted') > $NOWdate)
{


$this->input->post('datestarted') > $NOWdate;

$this->session->set_flashdata('success_insert', "6");
redirect(base_url("new-inspection-report/".$truckno));

}
else
{
$this->truck->insert_inspectionreport($truckno);
$last_id = $this->db->insert_id();
$count = $this->truck->count_inspection_bytruck($truckno);

$this->authentication->watch_dog("Successfully add inspection report with ID ".$last_id,$this->session->userdata('id'));
$this->truck->insert_inspectionno($count,$last_id);


$this->session->set_flashdata('success_insert', "1");
redirect(base_url('new-inspection-report/'.$truckno));
}

}
}

}

我将这些变量传递给我的 View :

    $data['odometer'] = $this->truck->validate_odemeter($truckno,$this->input->post('odometerreading'),"mypms_inspection_report");
$data['lastodometer'] = $data['odometer']['odometerreading'];
$data['date'] = $this->truck->validate_date($truckno,$this->input->post('datestarted'),"mypms_inspection_report","date");
$data['lastdate'] = $data['date']['date'];}

变量 data['odometer'] 获取我的 SQL 数据库上的最新记录(里程表),与 data['date'](日期)相同。

所以问题是,如果 '$data['lastodometer']' 为 null 并且 '$data['lastdate']' 为 null(我的数据库中还没有以前的记录),我收到错误 Undefined index: odometerreadingMessage: Undefined index: date 。如果我的数据库中还没有记录,如何将我的最后里程计设置为 0,将上次日期设置为今天日期?

最佳答案

使用 empty() 检查变量是否为空(使用empty或isset时,如果变量不存在,则不会抛出警告)。如果这是真的,请将它们设置为 0。

例如:

if (empty($data['lastodomoter']){
$data['Lastodometer'] = 0;
}

关于Php Codeigniter,验证空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com