【问题标题】:How to avoid passing argument in URL如何避免在 URL 中传递参数
【发布时间】:2014-04-08 14:09:46
【问题描述】:

您好,专业人士祝您有美好的一天。

我是这个 Codeigniter 框架的新手。

问题 1:如何避免在 url 中传递参数,或者是否有任何其他选项,例如使用虚拟值或默认值而不是传递原始值?

示例:目前我有这样的

http://localhost/manage?keyword1=SAP&keyword2=LAB

但我希望它是这样的

http://localhost/manage?keyword1=XXX&keyword2=YYY

问题 2: 我见过一些例子,他们使用 remap 函数来完成这项任务,但我不明白 remap工作 。这是正确的做法吗?

请提出您的建议并告诉我正确的方法,抱歉这可能是一个愚蠢的问题,但我搜索了很多我没有任何东西。提前致谢

【问题讨论】:

  • manage 控制器名称吗?
  • @kumar_v yes.manage 是控制器名称
  • 然后你可以在你的索引函数中设置默认参数。
  • 很抱歉问这个问题,请给我任何例子......
  • 我认为您要求屏蔽 url 参数值?

标签: php codeigniter url parameter-passing


【解决方案1】:

在 codeigniter 中,有一个名为“session”的库。在这个库中有一个叫做 flashdata 的功能。这就像 $_POST 方法,但它不需要表单。

示例: 在 flashdata 中设置变量:

$this->session->set_flashdata('example', $variable1);

'example' 是您的 flashdata 的名称,$variable 是它存储的内容。

在下一页访问您的数据:

$variable2 = $this->session->flashdata('example');

$variable2 将等于您在上一页中设置的 $variable1。

希望这会有所帮助!只是通过 URL 传递参数的替代方法。

【讨论】:

    【解决方案2】:
    function somefunction ($param1 = null, $param2 = null)
    {
    
    
    
    }
    

    如果没有传递参数,那么它将具有默认值null,但是如果传递了参数,那么您可以像这样处理它们:

    function somefunction ($param1 = null, $param2 = null)
    {
       $param1 = intval($param1) //if you want it to be int
       $param2 = floatval($param2) //if you want it to be float
    
    
    }
    

    如果您想在浏览器中直观地更改参数,那么只需像这样重定向它:

    function somefunction ($param1 = null, $param2 = null)
    {
       if($param1 == null || $param2 == null)
      {
          $param1 = 'XXX'; //put any value you want by your logic
          $param2 = 'YYY'; //put any value you want by your logic
          header("Location: http://localhost/manager/somefunction/".$param1.'/'.$param2);
      }
    
    
    }
    

    【讨论】:

      【解决方案3】:

      在 Codeignitor 中,您必须像这样通过 http://localhost/manage/controller/method/xxx/yyy

      然后在控制器中

      function method ( $x , $y )
      {
        echo $x;
        echo $y;
      }
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 2018-07-05
      • 2018-01-07
      相关资源
      最近更新 更多