我是CodeIgniter的新手,我一直在尝试创建一个登录页面,我已经为用户使用数据库创建了一个注册页面,但登录页面不起作用。
单击登录按钮时,页面将刷新。我试图让很多人死('sss');在控制器中找出我做错了什么,但屏幕上没有出现'sss'。这是我的代码。你能告诉我我做错了吗?
这是我的控制者:
public function login() {
$this->load->view('navbar');
$this->load->view('header');
$this->load->view('login');
$this->load->view('footer');
$password = $this->input->post('password');
$email = $this->input->post('email');
$result = $this->signup_model->login($email, $password);
if (isset($_POST['login'])) {
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata('message', '<div class="alertmsg">Something is wrong!</div>');
redirect('users');
} else
if ($result) {
$sess_array = array();
foreach ($result as $row) {
$sess_array = array('id' => $row->id, 'email' => $row->email);
$this->session->set_userdata('logged_in', $sess_array);
}
return TRUE;
} else {
$this->form_validation->set_message('login', 'Invalid email or password');
return false;
}
}
}
查看:
<div class="loginContainer">
<div class="loginWrapper">
<?php echo validation_errors(); ?>
<?php echo form_open('users/login'); ?>
<label for='email'>Email</label><div class='form_error'><?= form_error('email')?></div>
<input class='form-control1' name='email' placeholder='Email' type='text' value='<?php echo set_value('email'); ?> ' />
<span class='text-danger'><?php echo form_error('email'); ?> </span>
<label for='password'>Password</label><div class='form-error'><?= form_error('password') ?> </div>
<input class='form-control1' name='password' placeholder='Password' type='password' />
<span class='text-danger'><?php echo form_error('password'); ?></span>
<input type="submit" style='margin-left: 40%; margin-right: 40%; margin-top: 9%; text-align: center; width: 20%; ' value="Login"/>
</div>
型号:
public function login($email, $password) {
$this->db->select('id, email, password');
$this->db->from('register');
$this->db->where('email', $email);
$this->db->where('password', MD5($password));
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->result();
} else {
return false;
}
}
答案 0 :(得分:2)
替换,
<input type="submit" style='margin-left: 40%; margin-right: 40%; margin-top: 9%; text-align: center; width: 20%; ' value="Login"/>
用,
<input type="submit" style='margin-left: 40%; margin-right: 40%; margin-top:9%; text-align: center; width: 20%; ' name='login' value="Login"/>
你错过了名字属性。