После удаления index. php из ci код работает некорректно - PullRequest
0 голосов
/ 18 февраля 2020

Я создал простую форму авторизации в ci и с wamp. Я удалил индекс. php из URL, написав этот код в .htaccess: -

             <IfModule mod_rewrite.c>
              RewriteEngine On
              RewriteCond %{REQUEST_URI} ^system.*
              RewriteRule ^(.*)$ /index.php/$1 [L]
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule ^(.*)$ index.php/$1 [L]
              </IfModule>

Я также включил rewrite_module в apache. С URL-адреса индекс. php был успешно удален, а представление (страница входа) также загружено в браузер. Но когда я нажимаю на кнопку отправки, она не перенаправляется на другую страницу, ни для просмотра, ни для контроллера.

Просмотр кода: -

       <form method = "post" action = "<?php echo site_url(); ?>Home/xyz">
            <div class = "row" align ="center">
                <?php if($error=$this->session->flashdata('Login_failed')) { ?>

                <div class="alert alert-danger">
                    <?php echo $error; ?>
                </div>
                <?php } ?>
                <?php if($error=$this->session->flashdata('already_existing')) { ?>

                <div class="alert alert-danger">
                    <?php echo $error; ?>
                </div>
                <?php } ?>
                <?php if($error=$this->session->flashdata('logged_out')) { ?>

                <div class="alert alert-info">
                    <?php echo $error; ?>
                </div>
                <?php } ?>
            <div class="col-md-3">
            <label for = "emailid"><em>EMAIL_ID</em></label>
            <input type = "email" name = "eid"  class = "form-control" placeholder = "Enter Email id" value = "<?php if(($this->input->post('submit'))&&($this->input->post('eid'))){echo $this->input->post('eid'); } ?>" required = "required"><br>
            </div>

            <div class="col-md-3">
            <label for = "password"><em>Password</em></label>
            <input type = "password" name = "pass" class = "form-control" placeholder = "Enter password" required="required"><br>
            </div>
             <div class = "col-md-3">
            <label for = "password"></label>
            <input type="submit" class = "btn btn-primary" name = "submit" value = "Sign_in"><br>
        </div>
          </div>



</form>

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

       class Home extends CI_Controller{

 function __construct() {
parent::__construct();
$this->load->model('Test');
$this->load->library('session');
  }

public function index(){
    $this->load->view('login');
}
public function logout()
{
    $this->Test->updation1();
    $this->session->unset_userdata('usr_sess');
    $this->session->sess_destroy();

}   
public function xyz(){ 
    if($this->input->post('submit')){
        $uid = $this->input->post('eid');
        $pass = $this->input->post('pass');
        $login_id = $this->Test->login($uid,$pass);
        $sess_ary = array('lgid' => $login_id['id'] );
        $this->session->set_userdata('usr_sess',$sess_ary);
        if($login_id)
         {   if($login_id['toggle']==0) 
              {   

                  $this->Test->updation();
                  return $this->load->view('logout');
               }
              else{
                $this->logout();
                $this->session->set_flashdata('already_existing','This account is already logged 
                                                                                               in');
                return $this->load->view('login');      
              }

         }
        else
        {
            $this->session->set_flashdata('Login_failed','Invalid Username/Password');
            return $this->load->view('login');
        }
    }
    else if($this->input->post('logout'))
    {   if($this->session->has_userdata['usr_sess']['lgid']){
           $this->logout();
           $this->session->set_flashdata('Logged_out','Logged out successfully');
           return $this->load->view('login');}
        else{
            return $this->load->view('login');
        }   
    }
} 

До удаления индекса. php из URL код работал нормально, но теперь загружается только первое представление (страница входа в систему) и после нажатия кнопки отправки оно перенаправляется в то же представление, т.е. страница входа. Пожалуйста, помогите мне

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