【问题标题】:How to get URL before curent URL in codeigniter如何在codeigniter中获取当前URL之前的URL
【发布时间】:2019-09-23 21:42:30
【问题描述】:

我有这样的当前网址

http://localhost/matoa-admin/belanja/payment/mtaweb-39384e9f

但是如何在 codeigniter 中获取此页面之前的 url 3 页

前三页是

http://localhost/matoa-admin/produk/koleksi-jam/rakai-ebony/15

我尝试使用这个

$this->load->helper('url');

$currentURL = current_url();

print_r($currentURL);

但只是获取我的当前网址

【问题讨论】:

  • 你的意思是上一页的url? stackoverflow.com/questions/44644429/…
  • 您的意思是想要将您从中重定向到当前 URL 的 URL?
  • @Ghost 是,但该页面比当前页面早 3 页
  • @RopAliMunshi 是的,但该页面比当前页面早 3 页
  • 请参考此link 了解如何接受答案。要将答案标记为已接受,请单击答案旁边的复选标记以将其从灰色切换为已填充。

标签: php codeigniter url


【解决方案1】:

如果你想在这个页面之前获得 3 页,你必须使用 session 来获取请求的 url。

$this->load->library('session');
$this->load->helper('url');
$url = "";
if($this->session->set_userdata('url')){
    $url=$this->session->set_userdata('url');
}else{
    $url=[];
}
$page = current_url();
array_unshift($url, $page); 
$this->session->set_userdata('url',$url);

然后您可以在会话中简单地访问 3 个以前的 url,或者您可以使用以下代码重定向它:

redirect($this->session->userdata('url')[3]);

【讨论】:

  • 除非您添加某种机制来删除超过 3 个页面访问的网址,否则该数组可能会变大。但这是正确的方法。
  • @qwertzman,你说得对。简单地说,数一下,如果大于 3,不要向它推送新的 url。
【解决方案2】:

这是你想做的一件奇怪的事情。我想你唯一的选择是使用会话,因为 PHP 没有原生函数。

在当前页前3页

$this->session->set_userdata('some_url', current_url());

那么在当前页面你可以通过$this->session->some_url获取它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2019-09-04
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 2021-08-02
    相关资源
    最近更新 更多