如何在 codeigniter 中控制器函数参数为空时重定向 url?

How to redirect url when controller function argument is empty in codeigniter?

如何在 codeigniter 中控制器函数参数为空时重定向 url?

我的控制器发出吼叫声

class Login extends CI_Controller {

     public function resetpassword($passcode){
         if(!empty($passcode))
         {
             echo $passcode;
         }

        else
        {
             redirect(base_url());
        }
     }
}

当我按 url 喜欢 example.com/login/resetpassword/123456

结果:123456没问题...!!

但是当我像 example.com/login/resetpassword/ 那样点击 url 时,它会产生下面的错误

A PHP Error was encountered

Severity: Warning

Message: Missing argument 1 for Login::resetpassword()

Filename: controllers/login.php

Line Number: 81

我该如何解决这个问题?

尝试使用此代码

class Login extends CI_Controller {

     public function resetpassword($passcode=''){
         if($passcode!='')
         {
             echo $passcode;
         }

        else
        {
             redirect(base_url());
        }
     }
}

因为你的resetpassword()函数需要一个参数,这里是$passcode

您可以设置一个默认值来防止该错误

public function resetpassword($passcode = NULL){
     if(!empty($passcode))
     {
         echo $passcode;
     }

    else
    {
         redirect(base_url());
    }
 }

你可以试试下面的代码

class Login extends CI_Controller {

         public function resetpassword($passcode=''){
             if(!empty($passcode))
             {
                 echo $passcode;
             }

            else
            {
                 redirect(base_url());
            }
         }
    }