CodeIgniter Controller Method Parameters Issue

14,172

Solution 1

Just you need to define null parametra like this:

public function reset($email = null, $hash = null) {

}

If you call function

(controller name)/reset/[email protected]/dsadasda

than $email = [email protected] & $hash = dsadasda

if you function

(controller name)/reset

than $email and $hash will be null.

Also you can declare default parametre like this.

public function reset($email = [email protected], $hash = dsadasdas) {

}

Hope that I was clear.

Solution 2

If you want to execute function with or without parameters you can set default values for it.

public function reset($email = '', $hash = '') {

}

This way when there are no parameters function can still execute. You can use condition for code

public function reset($email = '', $hash = '') {

    if(!empty($email) AND !empty($hash)){
        //your code here
    }
}
Share:
14,172
Sanganabasu
Author by

Sanganabasu

CakePHP Developer

Updated on June 16, 2022

Comments

  • Sanganabasu
    Sanganabasu almost 2 years

    I'm using codeigniter 2.1 and I defined a function as follows.

    public function reset($email, $hash) {
    
    }
    

    According to MVC architecture and OOPS concept, the function could not execute if I did not pass the parameters in the url. But in codeigniter this function gets executing, So how can i overcome this?. Please help me to find solutions.