在我的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