2015-04-03 99 views
0

我有這個刪除,現在在CodeIgniter添加管理員帳戶功能。但我希望它一起工作。有什麼辦法可以解決這個問題嗎?刪除和保存工作正確分離壽。兩種形式,一頁codeigniter

控制器:

public function index() 
    { 
     $this->load->library('form_validation'); 

     // model aanroepen 
     $this->load->model('Admin_model', '', TRUE); 


     // see if there is post 
     if ($this->input->server('REQUEST_METHOD') == 'POST') { 
        $username = $this->input->post("username"); 
        $password = $this->input->post("password"); 

        $this->form_validation->set_rules('username', 'Username', 'required'); 
        $this->form_validation->set_rules('password', 'Password', 'required'); 
        if ($this->form_validation->run() != FALSE) { 

         $new_admin = new Admin_model(); 
         $new_admin->Admin_name = $username; 
         $new_admin->Admin_password = $password; 

         $this->Admin_model->save($new_admin); 


       } 
     } 

     if ($this->input->server('REQUEST_METHOD') == 'POST') { 

      $userid = $this->input->post("id_admin"); 

      $this->Admin_model->delete($userid); 


     } 


     $tweets = $this->Admin_model->get_all(); 
     $viewdata = [ 
      "tweets" => $tweets 
     ]; 


     $this->load->view('admin/admin', $viewdata); 

    } 


} 

查看:

<?php echo validation_errors() ?> 

    <h1>Create new admin</h1> 

    <form action="" method="post"> 
     <label for="username">Username</label> 
     <input type="text" id="username" name="username"/> 
     <br/> 
     <label for="password">Password</label> 
     <input type="password" id="password" name="password"/> 

     <button type="submit" id="admin_submit">Submit</button> 
    </form> 


    <h1>Delete admin</h1> 


    <?php foreach($tweets as $t): ?> 
     <?php echo "<p>" . $t['admin_name']."</p> "; ?> 

     <form action="" method="post"> 
      <input type="text" name="id_admin" value="<?php echo $t['admin_id'] ?>" /> 
      <button type="submit" name="delete">Delete</button> 
     </form> 

    <?php endforeach; ?> 
+0

什麼problrmü面臨或你得到哪個錯誤? – 2015-04-03 10:20:20

+0

當我點擊刪除按鈕時,它會顯示驗證錯誤 – user3071261 2015-04-03 10:23:59

回答

1

如果你想要做的工作都在一起,然後請把一些隱藏的價值形式和獲取價值,並把根據驗證該隱藏的價值或提交按鈕,按鈕被按下..通過isset功能就像

if(isset($_POST['save'])) // or check hidden field value here 
{ 
/* here put save button validation Or validation according for hidden value */ 

}else if(isset($_POST['delete'])) 
{ 
/* Delete validation OR other validation */ 
} 

在你的控制器

1

是的,你可以保存添加姓名標籤,並考慮刪除按鈕像

<button type="submit" name="save" id="admin_submit">Submit</button> 

現在得到這個控制器像

if(isset($_POST['save'])) 
{ 
    //here your code of save only its work for when you click save button 
} 

相同像刪除和同樣的功能

0

的兩個你的方法檢查,做工精細的崗位,所以當您發佈的刪除形式,它實際上會進入你的第一個方法。

做此項檢查,如果你點擊刪除按鈕,其檢查:

$is_delete = $this->input->post('delete'); 

而變化:

if ($this->input->server('REQUEST_METHOD') == 'POST') 

到:

if (isset($is_delete)) 

做保存同樣的事情動作:

<button type="submit" name="save_admin" id="admin_submit">Submit</button> 

做此項檢查,如果你點擊刪除按鈕,其檢查:

$is_save = $this->input->post('save_admin'); 

而變化:

if ($this->input->server('REQUEST_METHOD') == 'POST') 

到:

if (isset($is_save)) 

這樣,你不叫該方法每次您獲得POST請求。