0
このphpファイルは、ユーザーが電子メールで送信したIDとコードを確認します。 IDとコードが一致すると、確認メッセージが表示されます。そうでない場合は、エラーメッセージが表示されます。スクリプトはjsonに変換され、変換されたjsonを解析中にエラーが返されます。PHP jsonエンコード解析エラー
最後に、成功またはエラーメッセージのいずれかを処理するために使用するPHPの冒頭に空の配列を作成し、最後にresultという名前の配列がjsonにエンコードされるようにします。
これはエラーです:Uncaught SyntaxError: Unexpected end of JSON input
<?php
require_once '../../dbconfig.php';
$result=[];
if(empty($_POST['verify_id']) && empty($_POST['code']))
{
$result['success']=false;
$result['error_msg']="empty codes";
}
if(isset($_POST['verify_id']) && isset($_POST['code']))
{
$id = base64_decode($_POST['verify_id']);
$code = $_POST['code'];
$statusY = "Y";
$statusN = "N";
$stmt = $db_con->prepare("SELECT user_id,userStatus FROM tbl_users WHERE user_id=:uID AND tokenCode=:code LIMIT 1");
$stmt->execute(array(":uID"=>$id,":code"=>$code));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0)
{
$result["success"]=true;
if($row['userStatus']==$statusN)
{
$stmt = $db_con->prepare("UPDATE tbl_users SET userStatus=:status WHERE user_id=:uID");
$stmt->bindparam(":status",$statusY);
$stmt->bindparam(":uID",$id);
$stmt->execute();
$msg = "ok ";
$result['success_msg']=$msg;
}
else
{
$result['success']=true;
$msg = "active ";
$result['success_msg']=$msg;
}
}
else
{
$result['success']=false;
$msg = "account not found ";
$result['id']=$id;
$result['error_msg']=$msg;
}
}
echo json_encode($result);
?>
/*get data to activate account*/
var verifyResult=[];
var success_msg=document.getElementById("container");
window.onload=function(){
\t //sendDataToVerificationPage();
\t var url = window.location.href;
var myId = url.slice(77,79);
\t var myCode= url.slice(87);
\t sendDataToVerificationPage(myId,myCode);
};
/*send data to verification page*/
function sendDataToVerificationPage(myId,myCode){
\t \t \t var oOutput = document.querySelectorAll("div"),
\t \t \t \t oData = "verify_id="+myId+"&code="+myCode;
\t \t \t var oReq = new XMLHttpRequest();
\t \t \t oReq.open("POST", "verify.php", true);
\t \t \t oReq.onload = function(){
\t \t \t \t if(oReq.readyState==4 && oReq.status==200){
\t \t \t \t \t receivedData(oReq);
\t \t \t \t } else{
\t \t \t \t \t oOutput.innerHTML = "error" + oReq.status + "occurred when trying to upload your file.<br\/>";
\t \t \t \t }
\t \t \t };
\t \t \t oReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
\t \t \t oReq.send(oData);
}
/*callback function to handle the received data*/
function receivedData(oReq){
console.log(oReq.responseText)
\t verifyResult=JSON.parse(oReq.responseText);
\t console.log(verifyResult);
\t if(!verifyResult.success){
\t \t $("#container").fadeIn(1000, function(){
\t \t $("#container").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> '+verifyResult.error_msg+'</div>');
});
\t }else{
\t \t success_msg.textContent=verifyResult.success_msg;
\t }
}
JSON文字列のデコード中にエラーが発生したようです。その部分も見せていただけますか?私はそれがjavascriptだと思います。 – Tchoupi
@Tchoupiあなたもjsの部分をあなたに提供する必要があるのですか? – Riccardo
データを解析する必要があります。 'JSON.parse(your_php_encoded_var)' –