Я создал простую форму авторизации в 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 код работал нормально, но теперь загружается только первое представление (страница входа в систему) и после нажатия кнопки отправки оно перенаправляется в то же представление, т.е. страница входа. Пожалуйста, помогите мне