先
錯誤提示的文字是亂碼,不知道怎麼回事,
提示是mysql錯誤,但mysql串連是正常的。資料庫的編碼和程式都是utf8的。網站前台顯示正常,前台調出來的資料都是正常 的。就是登入的時候會出現這個錯誤,這個是用onethink搭的網站。
回複討論(解決方案)
55行的代碼
E(mysql_error());
貼出login控制器代碼
貼出login控制器代碼
// +----------------------------------------------------------------------namespace Admin\Controller;use User\Api\UserApi as UserApi;/** * 後台首頁控制器 * @author 麥當苗兒 */class PublicController extends \Think\Controller { /** * 後台使用者登入 * @author 麥當苗兒 */ public function login($username = null, $password = null, $verify = null){ if(IS_POST){ /* 檢測驗證碼 TODO: */ if(!check_verify($verify)){ $this->error('驗證碼輸入錯誤!'); } /* 調用UC登入介面登入 */ $User = new UserApi; $uid = $User->login($username, $password); if(0 < $uid){ //UC登入成功 /* 登入使用者 */ $Member = D('Member'); if($Member->login($uid)){ //登入使用者 //TODO:跳轉到登入前頁面 $this->success('登入成功!', U('Index/index')); } else { $this->error($Member->getError()); } } else { //登入失敗 switch($uid) { case -1: $error = '使用者不存在或被禁用!'; break; //系統層級禁用 case -2: $error = '密碼錯誤!'; break; default: $error = '未知錯誤!'; break; // 0-介面參數錯誤(調試階段使用) } $this->error($error); } } else { if(is_login()){ $this->redirect('Index/index'); }else{/* 讀取資料庫中的配置 */$config=S('DB_CONFIG_DATA');if(!$config){$config=D('Config')->lists();S('DB_CONFIG_DATA',$config);}C($config); //添加配置 $this->display(); } } } /* 退出登入 */ public function logout(){ if(is_login()){ D('Member')->logout();session('[destroy]'); $this->success('退出成功!', U('login')); } else { $this->redirect('login'); } } public function verify(){ $verify = new \COM\Verify(); $verify->entry(1); }}
你檔案儲存的編碼也檢查一下
這個報錯頁面html應該沒有header指定編碼,瀏覽器是根據你作業系統的預設語言解析的??gbk
檔案編碼 沒有設定