Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CodeIgniter Controller Method Parameters Issue

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.

like image 699
Sanganabasu Avatar asked Mar 21 '13 05:03

Sanganabasu


2 Answers

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.

like image 51
Erman Belegu Avatar answered Nov 09 '22 04:11

Erman Belegu


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
    }
}
like image 40
Muhammad Raheel Avatar answered Nov 09 '22 04:11

Muhammad Raheel