как вызвать функцию в другом контроллере в коде воспламенителя? - PullRequest
0 голосов
/ 24 ноября 2010

Я хочу вызвать функцию в другом контроллере. например, если пользователь попытается войти в систему с неверным параметром, приложение перенаправит на другой контроллер и передаст переменную (массив).

class User extends Controller {

function User()
{
   parent::Controller();
}

function doLogin()
{
  $userData = $this->users->getAuthUserData($user,$password);
  if(empty($userData)){ 
   // this is where i need to call a function from another controller
  }else{
   echo 'logged in';
  }
}

}

возможно ли передать переменную с помощью функции redirect () в помощнике по URL?

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Да, вы можете использовать перенаправление ('othercontroller / function /'. Url_encode ($ data), 'location');

Это должно сработать.

edit: вы также можете поместить код в помощник.

0 голосов
/ 28 сентября 2011

Если вы хотите вызвать функцию одного контроллера из другого контроллера, вы можете использовать перенаправитель Helper.

Например:

class Logout extends CI_Controller { 

     function index() {     
        session_destroy();
        redirect('index.php/home/', 'refresh');
     } 

}

это вызовет другой контроллер.

0 голосов
/ 24 ноября 2010
<?php    
$array = array('foo'=>'bar', 'baz'=>'fubar', 'bar' => 'fuzz');

    $json = json_encode($array);

    $encoded_json= urlencode($json);
    /* now pass this variable to your URL redirect)

    /* on your receiving page:*/
    $decoded_json= urldecode($encoded_json);

    /* convert JSON string to an array and output it */
    print_r(json_decode($decoded_json, true));
?>

этот код:

принимает массив, преобразует его в строку в кодировке JSON.

затем мы кодируем строку $json, используя url_encode. Вы можете передать это через URL.

Расшифруйте этот URL, затем декодируйте объект JSON как ассоциативный массив.

может стоит попробовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...