Codeigniter登录页面无效

时间:2016-08-22 14:04:41

标签: php codeigniter login

我是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;
    }
}

1 个答案:

答案 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"/>
你错过了名字属性。