2017-10-07 87 views
1

我是新來的codeigniter,我已經嘗試了一切,但我的表單仍然沒有提交到數據庫。CodeIgniter 3:表單不提交

這是我的代碼。我嚴重無法找到我出錯的地方了。

VIEW

<?= form_open('forms/submit_shifter_form');?>    
<div id="form-interview-fill-mainform" class="form-group"> 
    <div class="container"> 
     <div class="col-sm-12"> 
      <div class="input-group"> 
       <label>Reason/s for shifting:</label> 
       <input type="text" class="form-control form-input" name="shifter_reason"> 
      </div> 

      <div class="col-sm-6"> 
       <div class="input-group"> 
        <label>Strengths:</label> 
        <input type="text" class="form-control form-input" name="shifter_strength"> 
       </div> 
      </div> 
      <div class="col-sm-6"> 
       <div class="input-group"> 
        <label>Weaknesses:</label> 
        <input type="text" class="form-control form-input" name="shifter_weakness"> 
       </div> 
      </div> 
     </div>   
    </div> 
<?php echo form_submit('submit','Confirm', 'class="btn btn-success btn-lg" id="submit"');?> 
<?php echo form_close();?> 

控制器

<?php 
defined('BASEPATH') or exit('No direct script access allowed '); 

class Forms extends CI_Controller { 
    public function session(){ 
    if($this->session->userdata('logged_in')){ 
     $session_data = $this->session->userdata('logged_in'); 
     $data['id'] = $session_data['id']; 
     $data['username'] = $session_data['username']; 
     $data['password'] = $session_data['password']; 
     return $data; 
    } 
} 
    public function submit_shifter_form(){ 
     $shifter = array(
      'course' => $this->input->post('shifter_course'), 
      'reason' => $this->input->post('shifter_reason'), 
      'strength' => $this->input->post('shifter_strength'), 
      'weakness' => $this->input->post('shifter_weakness'), 
      'futureContribution' => $this->input->post('shifter_contribution') 
     ); 
     $session_data = $this->session->userdata('logged_in'); 
    $id = $session_data['id']; 
     $this->load->model('forms_model'); 
     $this->forms_model->shifter_form_submit($id,$shifter); 
     redirect(site_url('profile'), 'refresh'); 
    } 

} 

模型

<?php 
defined('BASEPATH') or exit('No direct script access allowed '); 

class Forms_Model extends CI_Model{ 
    function shifter_form_submit($id,$shifter) 
    { 
     $this->db->insert('tbl_prototype_shifter',$shifter); 
      $insert_id = $this->db->insert_id(); 
      $shift = array(
      'studentId' => $id 
      ); 
      $this->db->where('id', $insert_id); 
      $this->db->update('tbl_prototype_shifter', $shift); 
    } 

} 

我的其他形式提交適當的在我的數據庫中的數據,之後我加入這個新的形式,我看起來像它不再正確提交。請,能有人幫助,我想不通我哪裏錯了

+0

您的提交按鈕在哪裏? –

+0

我剛剛編輯它,對不起 –

+0

你確定'<?='打印表單標籤嗎? –

回答

2

你有

$shifter = array(
      'course' => $this->input->post('shifter_course'), 
      'reason' => $this->input->post('shifter_reason'), 
      'strength' => $this->input->post('shifter_strength'), 
      'weakness' => $this->input->post('shifter_weakness'), 
      'futureContribution' => $this->input->post('shifter_contribution') 
     ); 

但是在窗體中有,

shifter_reason 
shifter_strength 
shifter_weakness 

所以休息所有字段爲空,是你的表接受空的剩餘字段?

如果沒有再設置一些默認值,

在控制器

確認您加載數據庫:

function __construct() { 
    parent::__construct(); 
    $this->load->database(); 
    $this->load->model('forms_model'); 
    $this->load->helper('form'); 
} 

,並在你的另一種方法,

$session_data = $this->session->userdata('logged_in'); 
$this->forms_model->shifter_form_submit($session_data['id'],$shifter); 

在型號中,

function shifter_form_submit($id,$shifter) 
{ 
     // try to insert 
     $this->db->insert('tbl_prototype_shifter',$shifter); 

     // check if insert was ok 
     if($this->db->affected_rows() > 0) 
     { 
       // if ok get last insert id 
       $insert_id = $this->db->insert_id(); 

       // data to be updated 
       $shift = array(
         'studentId' => $id 
      ); 

       // update 
       $this->db->where('id', $insert_id); 
       $this->db->update('tbl_prototype_shifter', $shift); 
     }else{ 
       // failed to insert, so cannot update other table too 
       echo $this->db->_error_message(); 
       throw new Exception("Can't insert the resource"); 
     } 

} 
+0

我在其他地方添加了一個提醒,仍然沒有。我檢查了錯字的情況下的文件名,仍然沒有提交 –

+0

@ domin0101看到我的更新 –

+0

我試過了,仍然沒有提交 –

0

試試這個insted你的提交按鈕。

<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>