php这里怎么回事啊

我用JSON获取不到信息

include("../core/common.php");
$email = $_POST['email'];
if ($email=="") {
    $result=array('code'=>'false','msg'=>'获取系统版本错误');
} else {
       $Epattern = '/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i';
    if (preg_match($Epattern, $email)) {
             $user = $dbh->query("SELECT * FROM `userwodr` WHERE `email`='{$email}' limit 1")->fetch();
            if ($user) {
              if(date("ymd",$user['Signin'])==date("ymd")){
                  //如果时间等于今天,就是已签到
                    $result=array('code'=>'false','msg'=>'今天已签到');}
              else{
                     $time=time();
                     //获取现在时间
                     $size=$user['integral'] + 10;
                     //获取用户的积分+10
                     $sj=$dbh->exec("UPDATE `userwodr` SET `Signin`='{$time}' WHERE `email`='{$email}'");
                     //修改用户签到的时间
                     if($sj){
                         $jb=$dbc->exec("UPDATE `userwodr` SET `integral`='{$size}' WHERE `email`='{$email}'"); 
                         //修改当前积分
                        //也是这里的if不行,我JSON获取不到
                         if($jb){
                         $result=array('code'=>'true','msg'=>'签到成功','size'=>$size);}
          
                     }
                     
                     
                }
           }
    }
}
echo json_encode($result);
?>

在多層 if 裡面,任何一段不符合條件的,$result 都是空字串 $result = "";
可以在不同階段設置不同的錯誤訊息,例如:
$result=array('code'=>'false','msg'=>'wrong email format');
$result=array('code'=>'false','msg'=>'user not found');
$result=array('code'=>'false','msg'=>'sign in failed');