2016-11-10 3 views
0

私は私のアプリケーションをif文に動かそうとしていますが、私が望むものではないelse文になってしまいました。コールバックデータは「パス」ですが、これは私のif条件に合っていますが、それでも他のものに落ちました。私のコードを見てください。

のjsファイル

$http.post(path, postdata 
       ).success(function (data, status, headers, config) { 
        //if (data) { 

         // $scope.PostDataResponse = data; 
         if (data === "Pass"){ 

         setCookie("Username", $scope.formdata.Username); 
         setCookie("cafe_id", $scope.formdata.cafe_id); 
         console.log(getCookie("Username")); 

         alert("ลงทำเบียนสำเร็จ !"); 
         $location.url('/viewSaveCafeDetail'); 
         //console.log(data); 
         //alert("สมัครสมาชิกสำเร็จ"); 


         //$scope.insertcafe(); 
         //$scope.sendEmail(); 
         // $scope.reset(); 
         // $scope.getData(); 




         }else{ <--- ran down to else statement 
          alert(data); <--- callback value is "Pass" which is match with my if condition. 
         } 

PHPファイル

<?php 
header("Access-Control-Allow-Origin: *"); 
    header("Access-Control-Allow-Credentials: true"); 
    header("Access-Control-Allow-Methods : GET,POST,PUT,DELETE,OPTIONS"); 
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Requested-With, X-YOUR-CUSTOM-HEADER'); 
    header("Content-Type : application/json"); 
     header("Accept : application/json"); 

$serverName = "localhost"; 
    $userName = "root"; 
    $userPassword = ""; 
    $dbName = "middlework"; 

    $conn = new mysqli($serverName,$userName,$userPassword,$dbName); 
    mysqli_set_charset($conn,"utf8"); 
    session_unset(); 
session_start(); 

    $postdata = file_get_contents("php://input"); 
$request = json_decode($postdata); 
$strSQL = "INSERT INTO users "; 
$strSQL .="(Username,Password,Firstname,Lastname,Email,Tel,AccountStat,VerifyCode,Verifystat) "; 
$strSQL .="VALUES "; 
$strSQL .="('".$request->Username."','".$request->Password."','".$request->Firstname."' "; 
$strSQL .=",'".$request->Lastname."','".$request->Email."','".$request->Tel."','User','".session_id()."','None') "; 



mysqli_query($conn,$strSQL) or die(mysqli_error($conn)); 

    $insertcafe = "INSERT INTO cafe (cafe_id,Username,CafeName) VALUES ('1' , '".$request->Username."', '".$request->CafeName."')"; 

require_once('PHPMailer/PHPMailerAutoload.php'); 
     $mail = new PHPMailer(); 
$mail->IsHTML(true); 
$mail->CharSet = "utf-8"; 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; // enable SMTP authentication 
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier 
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server 
$mail->Port = 465; // set the SMTP port for the GMAIL server 
$mail->Username = "[email protected]"; // GMAIL username 
$mail->Password = "1100501068349"; // GMAIL password 
$mail->From = "[email protected]"; // "[email protected]"; 
$mail->FromName = "ThaiCoffeeShopOnline"; // set from Name 
$mail->Subject = "ยืนยันการสมัครสมาชิก ThaiCoffeeShopOnline";        
$mail->Body = "ขอขอบคุณที่สมัครเป็นสมาชิกกับเรา กรุณาคลิก Url ด้านล่างเพื่อทำการ Activate บัญชีของคุณ</br> 
       http://localhost/activate.php?sid=".session_id()."&uid=".$request->Username."</br></br> ThaiCoffeeShop.com"; 




$mail->AddAddress($request->Email); // to Address 

if($conn->query($insertcafe)) 
{ 
    if (!$mail->send()) { 
    //echo "ไม่สามารถส่ง email: " . $mail->ErrorInfo; 
    echo "EmailFail"; 
} else { 
    echo "Pass "; 
    //json_decode(); 
} 
    //echo "Save Cafe Done.[".$insertcafe."]"; 

} 
else 
{ 
    echo ""; 
    //echo mysqli_error($conn); 
    //echo "ไม่สามาถบันทึกข้อมูล[".$insertcafe."]"; 
} 



$conn->close(); 
?> 

value is Pass

+0

'console.log(typeof data、data)'とは何ですか? –

+0

@ Maximus string sir。 –

+0

大丈夫です、この 'console.log(data.split(" "))。join("、 "));'と 'console。 join( "、")); '? '();}};}}};}}};}}}; –

答えて

1

あなたのPHPファイルは、文字列「パスに対して比較しているスペースに続いて "合格" を書き込んecho "Pass ";を持っています"スペースなしで。

さらに、出力にも含まれるPHPファイルの最後に空白行があることもあります。これは末尾から?>タグを削除することで回避できます。

+0

OMG私の人生を保存してくれてありがとう! –

関連する問題