Подтвердить что ты не робот

Codeigniter перенаправляет на другой контроллер

Я пытаюсь направить пользователя на мою главную страницу, когда пользователь авторизован. Я выполняю проверку пользователя в моем контроллере login_check и добавляю $this->load->view('main'); Страница может быть загружена, но адрес сайта на главной странице все еще отображается

http://myprojectname/login_check

но я хочу, чтобы он показывал

http://myprojectname/main.

Нужно ли мне создавать новый "главный" контроллер и загружать представление? Это кажется мне лишним. Вот мой код.

часть моего login_check.php

private function _user_check()
{
    $this->load->model('user_query');  //load my model
    $result=$this->user_query->query($this->input->post('username'),$this->input->post('password'))             

    if($result)  //the user is in DB
    {
        $data['view']='main'; 
        $this->load->view('include/template', $data);
        //the address bar shows http://myproject/login_check in main page       

    }else{  //the user is not in DB

        $data['view']='login';
        $this->load->view('include/template', $data);
    }

}
4b9b3361

Ответ 1

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

Вы можете легко сделать переадресацию, включив URL-адрес помощника и просто используйте:

redirect('/controller/method');

или в реальном мире:

redirect('/main');

Ссылка ссылки

Ответ 2

Существует другой способ, но похожий на redirect(), если ваш контроллер - Rest Control

restserver

Вы можете использовать клиент отдыха в другом контроллере для вызова методов на серверном контроллере

restclient