CodeIgniter:避免在刷新页面时插入重复记录

时间:2018-08-24 01:01:51

标签: codeigniter codeigniter-3 codeigniter-2

我有一个表格(引用表格),当我填写表格时,我有2个查询正在运行。一个查询从表中选择列,另一个查询将信息插入表中。我能够成功获取并同时插入查询。但是问题是,当我刷新页面时,它总是插入重复的记录。如何避免这种情况,而不再次插入记录。我尝试了几种方法,例如会话和if else语句,但是没有用。

我的代码:-

型号:

 function insertToQuoteForm() {

  $postcode = $this->input->post('pick_add');
  $del_postcode = $this->input->post('drop_add');
  if ($postcode != '' ) {
   $fName = $this->input->post('bk_name');
   $lName = $this->input->post('bk_lname');
   $email = $this->input->post('bk_email');
   $contact = $this->input->post('bk_contact');
   $postcode = $this->input->post('pick_add');
   $del_postcode = $this->input->post('drop_add');
   $carMake = $this->input->post('car_list');
   $carModel = $this->input->post('car_models');
   $carmanYear = $this->input->post('car_man_year');
   $carType = $_POST['bodytypeselect'];
   $insertFormQuery = "INSERT INTO Quote_Form( First_Name, Last_Name, Email, Phone, Origin, Destination, CarMake, CarModel, ManYear, CarType) VALUES
( '" . $fName ."', '" .$lName."', '" . $email."', '" . $contact."', '" . $postcode."', '" . $del_postcode."', '" . $carMake."', '" . $carModel."', '" . $carmanYear."', '" . $carType ."')";
$insertDetails = $this->db->query($insertFormQuery);

   $insert_id = $this->db->insert_id();
   return $insert_id;

 }
  else {
     redirect ( base_url());

     }
} 

控制器:

我使用的是quoteNo作为最后插入的ID的参考号

$data['quoteNo'] = $this->PostModel->insertToQuoteForm();

逻辑是:

当查看者填写报价单以获取估计数量时,它会做两件事。将用户详细信息保存在一个表中,并从其他表中获取记录。插入到插入表中的数据将生成最后一个ID,并且该ID将变为引号。现在,如果用户刷新页面,则页面在生成时仍应显示相同的报价编号,而不会获得新的生成编号。谢谢。

0 个答案:

没有答案