Я попытался создать функцию входа в систему для администраторов, чтобы администраторы могли войти с помощью формы входа, но она не работает. Когда я нажимаю на кнопку входа, ничего не происходит … как при использовании правильного адреса электронной почты администратора и пароля, так и при неправильном вводе.
Это моя функция adminlogin в моем контроллере аутентификации:
public function adminlogin()
{
$this->form_validation->set_rules('admin_email', 'Admin_email', 'required');
$this->form_validation->set_rules('wachtwoord', 'Wachtwoord', 'required|min_length[5]');
if ($this->form_validation->run() == TRUE) {
$admin_email = $_POST['admin_email'];
$admin_wachtwoord = ($_POST['admin_wachtwoord']);
//check admin in database
$this->db->select('*');
$this->db->from('admin');
$this->db->where(array('admin_email'=>$admin_email, 'admin_wachtwoord' => $admin_wachtwoord));
$query = $this->db->get();
$admin = $query->row();if($admin->admin_email) {
$this->session->set_flashdata("success","U bent nu ingelogd als admin");
//admin sessios
$_SESSION['admin_logged'] = TRUE;
$_SESSION['admin_id'] = $admin->admin_id;
$_SESSION['admin_email'] = $admin->admin_email;
$_SESSION['admin_wachtwoord'] = $admin->admin_wachtwoord;
//link to admin dashboard
redirect("IndexController", "refresh");
} else {
$this->session->set_flashdata('error','Invalid email or password');
//if admin doesn't exists reload the admin login form
redirect("https://kadokado-ferran10.c9users.io/auth/adminlogin" , "refresh");
}
}
//laad alle adminlogin views
$this->load->view('templates/header');
$this->load->view('adminviews/adminlogin');
$this->load->view('templates/footer');
}
Моя страница просмотра adminlogin.php в моей папке adminviews:
<div class="all-content">
<div class="row">
<div class="col-lg-12 bg-warning" style="font-size:25px">
<center>Admin login</center>
</div>
</div>
<br>
<section>
<div>
<div class="row">
<div class="col-sm-12">
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<form action="" method="POST">
<div class="form-group">
<label for="name" class="control-label">Email</label><input class="form-control" name="admin_email" id="admin_email" type="email" placeholder="E-mail">
</div>
<div class="form-group">
<label for="message" class="control-label">Wachtwoord</label>
<input class="form-control" name="admin_wachtwoord" id="admin_wachtwoord" type="password" placeholder="Wachtwoord">
</div>
<div class="form-group">
<input name="adminlogin" type="submit" class="btn btn-primary" value="Inloggen" />
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section></div>
<div class="clearfix"></div>
Информация базы данных:
table: admin
1. admin_id = primary key
2. admin_email
3. admin_wachtwoord
Предполагая, что ваш контроллер назван Auth
, вы должны заменить:
<form action="" method="POST">
с :
<form action="<?php echo base_url('auth/adminlogin');?>" method="POST">
Вы также можете использовать CodeIgniter’s Форма Помощник написать, предполагая, что вы загрузили его в свой контроллер:
<?php echo form_open('auth/adminlogin'); ?>
который будет генерировать ту же предыдущую строку HTML.
Замените свой тег формы следующим:
<?=form_open('auth/adminlogin');?>
И убедитесь, что вы загружаете помощник формы:
$this->load->helper('form');