Перенаправление на страницу входа в систему с контроллера. Произошла ошибка воспламенения кода. - PullRequest
0 голосов
/ 25 августа 2018

Привет, я новичок в php и воспламенитель кода.я попытался получить информацию о входе в систему от просматриваемого и проверенного пользователя и отправить сообщение пользователю, если данные для входа неверны.

Код контроллера:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function __construct() {
    parent::__construct();

    $this->load->model('login_model');
    $this->load->helper('form'); 
    $this->load->helper('url');

    }
    public function index()
    {
        //$this->load->helper('url');
        $this->load->view('login/login');
    }
    public function login_check()
    {
        //$this->load->view('hello');
        //echo "directed";
    $user_id = $this->input->post('usernm');
    $userPassword = $this->input->post('passwordd'); 
    //echo $user_id.' and'.$userPassword;
    $var = $this->login_model->check_login($user_id);
    $status = 0;
    if(empty($var))
    {
        echo "Invalid user";
        $status = 0;
    }
    else
    {
    //echo var_dump($var);
    $username = $var->username;
    //echo $username;
        $status = 1;

    }
  $this->load->helper('url');
  redirect('login/login');
  //$this->load_>view('login\login');// at this point it does not redirect to login page and instead of that displaying error 404.page not found.
//echo $status;

    }

}

Тот же URL-адрес, ранее загруженный при вызове из функции index, но, если он вызывается из функции входа в систему, check () не направлена ​​на просмотр и не отображается страница ошибки 404.

Любая помощь, касающаяся этого мирабыть большой помощью.Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Я надеюсь, что этот будет работать на вас.

    public function login_check()
    {
       $user_id = $this->input->post('usernm');
       $userPassword = $this->input->post('passwordd'); 
       $var = $this->login_model->check_login($user_id, $userPassword); //pass username and password to your model to authenticate if input exists.
       $data['error'] = '';
    if(!empty($var)) //check if var is not empty
    {
        $this->session->set_userdata($var); //set user_data to var
        redirect('Account/page');  //redirect it to your account or success page
    }else{
         $data['error'] = 'Invalid Username or Password.';
         }
        $this->load->view('login/login',$data); //pass the error notification to your page.
    }
0 голосов
/ 25 августа 2018

Вам нужно написать redirect ('welcome'); вместо redirect ('login / login'); .Потому что login / login - это страница просмотра, и вы пытаетесь перенаправить прямой просмотр без использования контроллера.Итак, у вас есть два варианта, которые я написал ниже.

  1. redirect ('welcome');
  2. $ this-> load-> view ('login / login');

Я предлагаю выбрать 1-й вариант, потому что 2-й вариант уже реализован в первом.

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