在登录验证过程中运行查询

时间:2015-11-23 11:38:18

标签: php codeigniter

我刚刚开始学习codigniter并且现在遇到一些问题我正在尝试将我的核心php转换为codigniter mvc所以事情就是在普通的php中我使用了以下脚本以及以下功能。

function verify($connect) {
    $username  = $_POST["username"];
    $password = mysqli_real_escape_string($connect, $_POST["password"]);

    $get_query = mysqli_query($connect, "SELECT * FROM users");

    while($record = mysqli_fetch_assoc($get_query)) {
        $uname = $record{"username"};
        $pass  = $record["password"];

        if($username == $uname && $password == $pass) {
            if($record["utype"] == "admin") {
                $_SESSION["uname"] = $username;
                $_SESSION["uid"]   = $record["uid"];

                header("Location: control.php?uid=".$_SESSION["uid"]);
            } else {
                $_SESSION["uname"] = $username;
                $_SESSION["uid"]   = $record["uid"];

                $query = mysqli_query($connect, "INSERT INTO online (uid, status, uname) VALUES ('{$record["uid"]}', 'online', '$username')");
                header("Location: index.php?uid=".$_SESSION["uid"]);
            }
        } else {
            $_SESSION["message"] = "Invalid Username/Password provided";
            header("Location: login.php");
        }
    }
}

好的,所以现在在mvc我使用以下但是我如何完成与上面相同的功能

public function login_validation() {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Username', 'required|trim');
        $this->form_validation->set_rules('password', 'Password', 'required|trim');

        if($this->form_validation->run()) {     
            $data = array(
                'username' => $this->input->post('username'), 
                'is_logged_in' => 1
            );

            $this->session->set_userdata($data);
            redirect('main/index');
        } else {
            $this->load->view('login');
        }
    }

0 个答案:

没有答案