CI框架--URL路径跳转与传值

 CI框架使用URL的前提是需要加载辅助函数$this->load->helper('url');当然我建议大家将所有需要加载的东西写在构造方法内,这样就不需每个控制器每个方法都去调用一次了。

 CI框架的URL跳转问题是一个不可忽视的问题,还记得刚开始接触CI框架时,跳转永远不对,无论是base_url还是site_url总是找不到正确的位置,下面先说下base_url和site_url的区别和使用的不同位置:

base_url:书写方式base_url('index.php/Home/index');//index.php是入口文件,Home是控制器,index是方法;他主要是用于引用文件的路径和前后台之间跳转时使用,需要声明入口文件。

site_url:书写方式site_url('Home/index');//Home是控制器,index是方法;他主要用于同一个入口文件下的跳转,不需要声明入口文件,他在哪个文件内就默认在此文件下跳转。

  base_url()表示的是CI框架根目录,site_url()表示的是他所在模块的根目录(例如在admin文件下,则表示admin文件夹下的目录)。

当然还有一个最重要的问题就是在使用这两个方式跳转之前,需要修改前后台文件下的config/config.php,如下:

home/config/config.php文件 $config['base_url'] = 'http://localhost/Ci/';//http://localhost/Ci/为你CI框架的路径

admin/config/config.php文件 $config['base_url'] = 'http://localhost/Ci/';//http://localhost/Ci/为你CI框架的路径

配置虚拟主机或上线后 $config['base_url'] = 'http://www.baidu.com/'写域名

修改完了这些你的路径跳转已经配置好了,快去尝试一下吧。

  CI框架的传值问题其实是一个很简单的问题,如下:

base_url('index.php/Home/index/3');//这个3就是你想要传递的值;

site_url('Home/index/3');//这个3就是你想要传递的值;

  当然在传值成功后,在另一个页面我们需要接受他传递过来的值;

$this->uri->segment(1);//获取控制器名

$this->uri->segment(2);//获取方法名

$this->uri->segment(3);//获取参数值

做完这些,URL的跳转、传值与接收参数已经做完了,可以完成CI框架的URL操作了。

原文地址:https://www.cnblogs.com/baiyi-ying/p/6707526.html