[英]Codeigniter Login
我在這里有一個Codeigniter登錄系統,只是想知道我哪里出錯了。 這是我的代碼:
視圖
<?php
echo form_open('handyman/logIn');
echo form_label('Email: ','useremail');
echo form_input('useremail');
echo "<br />";
echo form_label('Password: ','userpassword');
echo form_input('userpassword');
echo "<br />";
echo form_submit('Logmein','Log In');
echo form_close();
?>
調節器
public function logIn(){
$useremail=$this->input->post('useremail');
$userpassword=md5($this->input->post('userpassword'));
$this->load->model("HandymanModel");
if($useremail && $userpassword && $this->HandymanModel->logInUser($useremail,$userpassword)){
$data['msg']="Successfully Logged in!";
$data['title']="Logged In";
$this->load->view("header",$data);
$this->load->view("confirmation",$data);
$this->load->view("footer",$data);
} else{
$data['title']="Sign up / Log in";
$this->load->view("header",$data);
$this->load->view("page3", $data);
$this->load->view("footer",$data);
}
}
模型
function logInUser($useremail,$userpassword) {
$this->db->where('email',$useremail );
$this->db->where( 'password', $userpassword );
$login = $this->db->get()->result();
if (is_array($login) && count($login) == 1) {
return true;
} else {
return false;
}
我收到錯誤號:1064,這是檢查與您的MySQL服務器版本相對應的手冊的正確語法,以在第2行的'WHERE email
='email@gmail.com'AND password
='1a1dc91c9073'附近使用
謝謝
您缺少表名
$login = $this->db->get( )->result();
^^here
通過添加表名來嘗試此操作
$login = $this->db->get('your table name')->result();
我會將您的模型更改為類似...
函數logInUser($ useremail,$ userpassword){
$ query = $ this-> db-> query('SELECT * FROM tbl_name WHERE account_email =“'。$ useremail。'” AND account_password =“'。$ userpassword。'”');
if ($query->num_rows() != 0){
return true;
} else {
return false;
}
}
我還建議您也加密用戶密碼。 看一下MD5。 確保也使用哈希。
干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.