Codeigniter替代标题('Location:'。$ _SERVER ['HTTP_REFERER']);

时间:2018-01-21 09:41:31

标签: php mysql twitter-bootstrap codeigniter

我正在使用CodeIgniter 3和Twitter Bootstrap开发注册和登录应用程序。

我有一个“用户”MySQL表和一个相应的“users.php”视图,它以HTML格式呈现“users”表,如下图所示:

enter image description here

这些“启用”按钮是指在单击时执行用户控制器的activate()方法的链接:

public function activate($user_id) {
    $this->load->model('Usermodel');
    $user = $this->Usermodel->activateUser($user_id);
    redirect('users');
}

上述函数的最后一行redirect('users');的问题在于,如果我在任何其他页面上激活用户但是第一行,我将无法看到用户已激活(因为我将被重定向到第一页)。

在上述功能中使用header('Location: ' . $_SERVER['HTTP_REFERER']);代替redirect('users');可以完成这项工作,但是:

  1. 这是最安全的方法吗?
  2. 是否有Codeigniter特定的方法来执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以使用

redirect($_SERVER['HTTP_REFERER']);

答案 1 :(得分:0)

您可以加载用户代理库并执行此操作:

redirect($this->agent->referrer());