基本网址: HTTP://本地主机/ F1 /
而我传递参数的URL,如: HTTP://本地主机/ F1 / USER1
我试图打印
function index(){
echo $this->uri->segment(2);
}
我想打印User1
在控制器中。 如何实现这一目标?
基本网址: HTTP://本地主机/ F1 /
而我传递参数的URL,如: HTTP://本地主机/ F1 / USER1
我试图打印
function index(){
echo $this->uri->segment(2);
}
我想打印User1
在控制器中。 如何实现这一目标?
配置您的溃败和补充一点:
$route['Controller_Name/(:any)'] = 'Controller_Name/index/$1';
在这里,你去与你的控制器
class Controller_Name extends CI_Controller {
function index($prm){
echo $prm;
}
}
玩得开心....你可以有你想要多少URI ....
读到这里https://www.codeigniter.com/userguide3/general/controllers.html - > Passing URI Segments to your methods
/products/shoes/sandals/123
<?php
class Products extends CI_Controller {
public function shoes($sandals, $id)
{
echo $sandals;
echo $id;
}
}
之后base_url
segemnts /参数可以得到这样的
确保base_url
和URL帮手在设定application/config/config.php
和application/config/autoload.php
文件分别
假设,调用函数与锚标记
<a href="<?= base_url('HomeController/index/'.$url1)?> ">Index</a>
另外,在上述线, HomeController
是控制器名称, index
函数名和$url1
是参数
class HomeController extends CI_Controller {
public function index($url1){
echo $url1;
}
}
此外, $this->uri->segment()
都可以使用。
我从你的问题理解的是,你想不使用你的方法重新映射,直接在控制器后传递参数?
您可以通过用户_remap
并检查是否匹配的方法处理它通常还是把它传递给你的直接默认方法,现在你将不再需要使用index
在您的网址,你打算。
public function _remap($method)
{
if ($method === 'some_method_in_your_controller')
{
$this->$method();
}
else
{
$this->index($method);
}
}
现在让我们说您的网址是这样http://localhost/controller/parameter
那么如果这个参数相匹配的方法,它会调用该方法,如果不将它作为参数传递给你index
。
定义你的配置控制器/ routes.php.it会默认调用索引功能。
$route['default_controller'] = 'controllername';
检查是否加载的URL帮手。 只有这样,它会正常工作。 无论是自动加载它或把它的控制器。