Codeigniter Просмотр не загружается

У меня есть установка Codeigniter, IonAuth + Hybridauth, которую я переделываю, чтобы мои пользователи могли выбирать свое собственное имя пользователя, а не генерировать его, используя имя и фамилию, возвращенные Facebook.

Таким образом, в моем коде ниже я проверяю, было ли опубликовано имя пользователя, если нет, я хочу загрузить choose_username вид, но по какой-то причине вид не загружается и полностью пропускает этот раздел, поэтому я добавил die('Why no view')

Обновление: этот первый фрагмент кода работает нормально в новом контроллере

Оформить заказ код здесь:

if(isset($_POST['username'])){
                            $username = $this->input->post('username', TRUE);   
                            die($username);
                            }else{
                                $this->data['message'] = 'Please choose a username.';
                                $this->data['template'] = 'guests/partials/choose_username';
                                $this->load->view('guests/template/standard', $this->data);
                                die('Why no view?');
                            };

Более длинная версия:

function login_provider($provider = '')
    {
        if(empty($provider)) redirect();


    try
    {
        // create an instance for Hybridauth with the configuration file
        $this->load->library('HybridAuthLib');

        if ($this->hybridauthlib->serviceEnabled($provider))
        {
            // try to authenticate the selected $provider
            $service = $this->hybridauthlib->authenticate($provider);

            if ($service->isUserConnected())
            {
                // grab the user profile
                $user_profile = $service->getUserProfile();
                ////////////
                //var_dump($user_profile);
                //die();
                ////////////

                    $provider_uid = $user_profile->identifier;

                if($this->ion_auth->login_by_provider($provider,$provider_uid))
                {
                    $data['user_profile'] = $this->ion_auth->user_by_provider();
                    //$this->load->view('auth/user_profile',$data);
                    $user = $this->ion_auth->user()->row();


                    //Redirect to custom subdomain
                    $url = explode('://',site_url());
                    if (strpos(site_url(),$user->username) !== false) {
                    redirect($url[0].'://'.str_replace('www','',$url[1]).'dashboard','refresh');
                    }
                        else{
                        redirect($url[0].'://'.$user->username.str_replace('www','',$url[1]).'dashboard');
                        };

                }
                else
                { // if authentication does not exist and email is not in use, then we create a new user 

                //Check if username was posted

                        if(isset($_POST['username'])){
                            $username = $this->input->post('username', TRUE);   
                            die($username);
                            }else{
                                $this->data['message'] = 'Please choose a username.';
                                $this->data['template'] = 'guests/partials/choose_username';
                                $this->load->view('guests/template/standard', $this->data);
                                die('Why no view?');
                            };

Поэтому, когда я запускаю приведенный выше код, все, что я получаю, это пустая страница с: Why no view,

1 ответ

Как и выше, обычно, когда я сталкиваюсь с такой проблемой, это происходит из-за ошибки в коде представления.

Кроме того, я не знаю, что, на самом деле передается этим сообщением в случае отсутствия данных об имени пользователя, но вы можете также проверить наличие пустого значения для имени пользователя. Это, вероятно, не проблема, но было бы хорошо, чтобы подтвердить, что первоначальный if оценивает, как вы ожидаете.

Другие вопросы по тегам