我尝试为管理员创建登录功能,因此管理员可以使用登录表单登录,但它无法正常工作。当我点击登录按钮时没有任何反应......当我使用正确的管理员电子邮件和密码以及错误的输入时......
这是我的Auth控制器中的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');
}
我的adminviews文件夹中的adminlogin.php视图页面:
<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
答案 0 :(得分:1)
假设您的控制器名为Auth
,您应该替换:
<form action="" method="POST">
with:
<form action="<?php echo base_url('auth/adminlogin');?>" method="POST">
您也可以使用CodeIgniter Form Helper进行编写,假设您已将其加载到控制器中:
<?php echo form_open('auth/adminlogin'); ?>
将生成相同的先前HTML行。
答案 1 :(得分:1)
使用以下内容替换您的表单标记:
<?=form_open('auth/adminlogin');?>
并确保加载表单助手:
$this->load->helper('form');