CodeIgniter Простой логин в форме начальной загрузки - PullRequest
0 голосов
/ 14 мая 2019

Я новичок в CodeIgniter и пытаюсь разобраться в простой форме входа в систему с использованием фреймворка.

Просмотр формы

   <form action="login" method="post">
   <input type="text" class="form-control" placeholder="Username" name="username"  value="">
   <input type="password" class="form-control" placeholder="Password" name="password" value="">
   <div style="color:red;" class="col pl-1">
   <?php
    echo $error;
    ?>
   </div>
   <button type="submit" class="btn btn-block btn-primary" name="signin">Login</button>
   </form>

Контроллер

class Loginauth extends CI_Controller 
{

    public function index()
    {
    $this->load->view('auth');
    }

    public function login()
    {
        $data=array();
        if($this->input->post('signin'))
        {
                $u=$this->input->post('username');
                $p=$this->input->post('password');
                if($u=='admin' && $p=='123')
                {
                 redirect('loginauth/dashboard');
                }
                else
                {
                    $data['error']="<h3 style='color:red'>Invalid login details</h3>";
                }

        }
     $this->load->view('auth',@$data);

    }

    function dashboard()
    {
    $this->load->view('success');
    }
}

Когда я отправляю страницу входа, она перенаправляется на

localhost/CodeIgniter-3.1.10/index.php/login (без имени пользователя и пароля), но ничего не происходит.Не могли бы вы помочь мне разобраться в этом?

1 Ответ

2 голосов
/ 14 мая 2019

Сначала вы должны загрузить помощник по форме и библиотеку form_validation.

public function login()
{
    $this->load->helper('form');
    $this->load->library('form_validation');

        $this->form_validation->set_rules('username', 'username', 'required');
        $this->form_validation->set_rules('password', 'password', 'required'); 

      $data['error'] = validation_errors();

      if($this->form_validation->run() === FALSE){
           $this->load->view('auth',@$data);
       }else{

            $u=$this->input->post('username');
            $p=$this->input->post('password');
            if($u=='admin' && $p=='123')
            {
             redirect('loginauth/dashboard');
            }
            else
            {
                $data['error']="<h3 style='color:red'>Invalid login details</h3>";
                $this->load->view('auth',@$data);
            }
       }


}

Ваша форма действия должна быть: action="<?php echo base_url('index.php/loginauth/login') ?>". вот и все, дайте мне знать результат.

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