【问题标题】:How to redirect if an argument missing from controller method?如果控制器方法中缺少参数,如何重定向?
【发布时间】:2018-01-09 14:20:18
【问题描述】:

假设我正在创建一个动态文件,我将在 method_name($variable) 中传递变量,并且 $variable 具有名称(“abc”),那么我们的路径如下所示:

http://localhost/folder_name/index.php/controller_name/method_name/abc

如果我从以下路径中删除 abc,则 url 看起来像 http://localhost/folder_name/index.php/controller_name/method_name/

然后我们在浏览器上运行然后它会显示错误,即

消息:method_name::controller_name() 缺少参数 1。

所以,我的问题是如果从方法中删除变量值,如何重定向文件。如果方法内部没有任何内容,我想将文件重定向到控制器。

谢谢

【问题讨论】:

  • 我不明白。如果变量没有通过,请校准,那么你想要什么?重定向到另一个控制器?
  • 只要设置一个默认值:method_name($variable = null),如果变量为空则重定向。顺便提一句。不应该是controller_name::method_name()吗?
  • 不,我并不是说没有简单地传递变量如果我从 url 中删除变量值然后运行它将显示错误严重性:警告消息:控制器缺少参数 1::method_name() @ M.sulemanKhan
  • @omkara 那是因为变量没有传递给方法(因此错误消息告诉你确切的)。无论哪种方式,您都有一个适合您的答案。
  • @omkara 重定向文件是什么意思?

标签: php codeigniter


【解决方案1】:

只需检查参数

<?php
class Blog extends CI_Controller {

    public function index($abc = NULL)
    {
         if($abc){
            // IF argument 
            echo 'Hello World!';
         }else{
            // Redirect here if not argument parsed
         }
    }
}

【讨论】:

  • 感谢@Sun eel Kumar
  • @omkara 欢迎您
猜你喜欢
  • 2013-10-01
  • 2017-07-29
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多