普通网友 2018-01-21 09:41
浏览 62
已采纳

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

I am working on a Register and Login application with CodeIgniter 3 and Twitter Bootstrap.

I have a "users" MySQL table and a corresponding "users.php" view that renders the "users" table in an HTML format, like the image below illustrates:

enter image description here

Those "Enable" buttons are links that, when clicked, execute the activate() method of the Users controller:

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

The problem with the last line of the above function, redirect('users');, is that if I activate a user on any other page but the first, I will not be able to see the user activated (because I will be redirected to the first page).

Using header('Location: ' . $_SERVER['HTTP_REFERER']); instead of redirect('users'); inside the above function will do the job but:

  1. Is it the safest method available?
  2. Is there a Codeigniter specific way to do this?
  • 写回答

2条回答 默认 最新

  • duanji4870 2018-01-22 10:11
    关注

    You ca load the User agent library and do this as well:

    redirect($this->agent->referrer());
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?