在我的codeigniter應用程序中,我有一個用戶列表,其中管理員可以更改用戶角色並更新用戶信息。編輯用戶時,url爲user/edit_user/1002,並且加載了edit_user視圖。 1002是用戶的用戶名。在Codeigniter中丟失的URI段
當我提交表單和form_validation失敗時,我重新加載視圖,但問題是網址上的最後一段,用戶標識丟失。所以表單中使用的sql查詢失敗。有沒有一種方法可以重新加載錯誤的視圖,並保持uri段中的用戶ID?以下是代碼:
if ($this->form_validation->run() == FALSE) {
$userid = $this->uri->segment(3);
$this->db->where('userid', $userid);
$query = $this->db->get('user');
$row1 = $query->row();
$data = (array)$row1;
$sql = "SELECT userid, role_id FROM user_role WHERE userid = $userid ";// This sql fails
$ro = $this->db->query($sql);
$data['role_check'] = $ro->result();
$this->load->view('edit_user',$data);
}
在此先感謝。
在view_user.php,
<tr>
<td><?php echo $loop->userid;?></td>
<td><?php echo $loop->name;?></td>
<td><a class="btn-small btn-info" href="<?php echo site_url(); ?>/user/edit_user/<?php echo $loop->userid;?>">Edit</td>
</tr>
的在控制器的用戶中,我使用我張貼第一代碼。
將其設置爲SESSION VARIABLE,並在更新 – JYoThI
後銷燬它,或者在更新操作url中再次傳遞相同的ID too user/edit_user/<?php echo $ this-> uri-> segment(3); – JYoThI
驗證將被錯誤兩次,即首先加載頁面,然後再次驗證錯誤。所以,銷燬SESSION VARIABLE不起作用。 uri片段來自view_user頁面,點擊EDIT,進入edit_user頁面。如果我把<?php echo $ this-> uri-> segment(3); ?>,那麼會出現錯誤「消息:類CI_URI的對象無法轉換爲字符串」。這個問題變得非常刺激。 – John