【问题标题】:Change url in php after reloading a page重新加载页面后更改php中的url
【发布时间】:2012-03-21 15:02:24
【问题描述】:

我的主页网址是这样的

http://localhost/mediabox/home/box/12

当用户单击该链接时,我在主页上有一个语言链接,我将该语言 id 作为查询字符串发送,页面重新加载并且 url 转换为

http://localhost/mediabox/home/box/?bid=12&ln=2

我想用新语言重新加载页面,但不想更改我的网址,即我希望我的网址是

http://localhost/mediabox/home/box/12

页面加载后

怎么可能请给我一些好主意 谢谢

【问题讨论】:

  • 你用的是php框架吗?
  • @safarov 是的,我正在使用 codeigniter
  • 链接看起来像这样其中bid和ln是动态的
  • 只需设置一个语言cookie。那么语言不是由 URL 决定的。例如,当用户单击语言链接时,setcookie('ln', 2); 并且当您收到页面请求时,您可以检查 $_COOKIE['ln'] 以了解要使用的语言。
  • @DaveRandom 能否提供一些基本的 sudo 代码,我正在使用带有控制器和视图的 codeigniter

标签: php codeigniter query-string


【解决方案1】:

查看

<a href=<?php echo site_url('home?language=indonesian');?>>Indonesian language</a>

控制器

class Home extends CI_Controller {

    public function index()
    {
        $language = $this->input->get('language');
        if($language){

            // Put your code here

            // Now u can set session
            $this->session->set_userdata('language', $language);
            redirect('home');
        }

        if($this->session->userdata('language'))
        {
            var_dump($this->session->userdata('language'));
        }
        echo 'Hello World!';
    }

}

【讨论】:

  • 语言仍然显示在网址中,如果我重定向到主页,则不会发生更改
猜你喜欢
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
  • 2016-01-12
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 2015-03-29
  • 2016-04-12
相关资源
最近更新 更多