使用Codeigniter为Get变量使用segment和URI

时间:2017-05-11 12:51:24

标签: php codeigniter uri codeigniter-3

好,

所以我想做类似于index.php / show?p = 1的事情,但我知道默认情况下在Codeigniter中禁用使用GET。所以我想知道如何使用URI和Segments在控制器中设置它,所以它看起来像index.php / show / 1。或者这不可能吗?

显然,'1'将根据数据库中的值进行更改。

我希望这是有道理的,如果没有,请告诉我。

2 个答案:

答案 0 :(得分:1)

    默认情况下,
  1. $_GET未被禁用。
  2. 执行URI细分事务就像添加单个路由一样简单,这由tutorial in the official documentation涵盖。

答案 1 :(得分:0)

要让网址http://example.com/index.php/show/1按照您的要求执行,您可以修改 application / config / routes.php 文件来完成任务。

假设show是一个控制器,并且您希望控制器的index()方法处理上述URL,您需要做一些事情。

定义索引方法以接受参数

public function index($arg) 
{
    ...

将以下内容添加到 application / config / routes.php

$route['show/(:any)'] = 'show/index/$1';

如果你想使用除index()以外的某种方法来处理这些杂事 - 让我们说doShow(),那么这条路线就是这样的。

$route['show/(:any)'] = 'show/doShow/$1';

方法是

public function doShow($arg) 
{ 
   ...

无论使用何种方法 - index()doShow() - 如果您未在第二个URI段中传递参数,您将获得404 - 未找到页面屏幕。