如何在php登录后保持同一页面?

时间:2011-06-26 11:02:22

标签: codeigniter

我希望即使在用户按下登录按钮后,他也会停留在同一页面上。我的登录表单位于标题中,并且对所有人都是通用的。就像假设有两页回家和联系。用户首先访问主页。后来他访问了联系页面。现在,即使用户按下标题中的登录按钮,无论他在字段中输入的内容无关紧要,都会进行验证,用户登录并停留在联系页面上或显示错误消息并且用户保持打开状态联系页面。我正在使用codeigniter框架。我可以在codeigniter中使用任何东西吗?

5 个答案:

答案 0 :(得分:5)

在对用户进行身份验证后,请执行重定向标头到$_SERVER['HTTP_REFERER']

答案 1 :(得分:2)

您好尝试使用 $ _ SERVER ['HTTP_REFERER'] 来修改上一个网址。

$refering_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '' ;

将此代码放入您的登录视图页面以获取上一页网址

$this->session->set_userdata('url', $refering_url);

将该url存储在会话中,以便可以在登录控制器中访问它。获取会话 来自控制器的值,并在检查登录凭据后,重定向到此URL

$url=$this->session->userdata('url');

重定向使用重定向()

redirect($url, 'refresh');

希望有所帮助

答案 2 :(得分:1)

在对用户进行身份验证后,您可以将其重定向到您选择的页面

redirect(base_url(), 'refresh');

您也可以发送错误或任何消息,例如,您需要加载会话库。

$this->session->set_flashdata('message', '<div class="message">' . $error . '</div>');

答案 3 :(得分:0)

试试这个,

$this->agent->referrer();

在使用之前你必须加载库

你父类中的

$this->load->library('user_agent');

答案 4 :(得分:0)

$ this-> load-> library('user_agent'); //在您的父类中。 redirect($ _ SERVER ['HTTP_REFERER'],'refresh'); //在函数结束重定向中