php代碼怎麼簡化
怎麼簡化以下代碼 用do while 實現只返回一次{"status":0,"error_code":0}' 就是說兩個0是變數 有什麼問題便返回那個代碼。求實現代碼
public function login(){
$a_id =$_GET['a_id'];
$a_password=$_GET['a_password'];
if(empty($a_id)) {
// $this->error('使用者名稱不可為空');
echo '使用者id不可為空{"status":0,"error_code":101}';
exit;
}
if(empty($a_password)) {
// $this->error('密碼不可為空');
echo '密碼不可為空 {"status":0,"error_code":101}';
exit;
}
// $password = md5($password);
$admin = M('Admin');
$where = "a_id='$a_id' and a_password='$a_password'";
//$count = $admin->where($where)->count();
$row = $admin->where($where)->find();
// var_dump($row);exit;
if($row['a_id']){
session('a_id',$row['$a_id']);
echo '{"status":1,"error_code":100}';
exit;
} else {
// $this->error('使用者名稱或密碼錯誤,請重新登陸');
// echo "登入失敗!";
echo '{"status":0,"error_code":104}';
exit;
}
}
------解決思路----------------------
public function login(){
$res = array('status' => 0, 'error_code' => 100, 'msg' => '');
$a_id =$_GET['a_id'];
$a_password=$_GET['a_password'];
while(1) {
if(empty($a_id)) {
$res['error_code'] = 101;
$res['msg' = '使用者名稱不可為空';
break;
}
if(empty($a_password)) {
$res['error_code'] = 101;
$res['msg' = '密碼不可為空';
break;
}
$admin = M('Admin');
$where = "a_id='$a_id' and a_password='$a_password'";
$row = $admin->where($where)->find();
if($row['a_id']){
session('a_id',$row['$a_id']);
$res['status' = 1;
break;
}
$res['error_code'] = 104;
$res['msg'] = ''使用者名稱或密碼錯誤,請重新登陸';
break;
}
echo json($res);
}