2017-05-09 113 views
1

請我與WordPress和使用Ajax的一些數據存儲到數據庫中,我已取回後登錄的用戶ID與WP功能get_current_user_id()WordPress的* get_current_user_id *遠程服務器而不是本地服務器上返回0

在我的本地服務器localhost上,但在我的遠程服務器上,一切正常。get_current_user_id()總是返回0而不是登錄的用戶ID。

當我直接運行的submit.php文件get_current_user_id()返回用戶ID精細

請注意submit.php和Ajax不是WordPress的的一部分,它是在一個單獨的文件夾中WordPress的根文件夾

當運行seperately的submit.php文件並測試以查看所得到的執行查詢get_current_user_id()輸出在用戶ID正確的記錄,而不是0

submit.php

require_once("../../../wp-blog-header.php"); 

$connection = mysqli_connect("host", "user", "pass", 
"db"); // Establishing Connection with Server.. 
$db = mysqli_select_db($connection, "db"); // Selecting Database 
//Fetching Values from URL 
@$score = $_POST['score']; 

$user_id = get_current_user_id(); 
//Insert query 
$query = "update gamestats set bestscore = {$score} WHERE game='2048' AND 
playerid = {$user_id} and bestscore <= {$score}"; 
mysqli_query($connection, $query); 

if (mysqli_affected_rows($connection) <= 0){ 
$ins_query = "INSERT INTO gamestats (bestscore, game, playerid) 
VALUES({$score}, '2048', {$user_id})"; 
mysqli_query($connection, $ins_query); 
} 
mysqli_close($connection); // Connection Closed 

Ajax調用文件是同一個文件夾內的submit.php

$.ajax({ 
     type: "POST", 
     url: "submit.php", 
     data: dataString, 
     cache: false, 
     success: function(result){ 
      //alert(score + " :Post Best Score"); 
     } 
}); 

WP模板中的啓動代碼

<iframe height="1057" scrolling="no" align="middle" frameborder="0" src="http://www.xxxx.com/wp-folder/custom-folder/index.html"> 

的iframe是什麼啓動我使用WP模板的整個過程。

這是Ajax的腳本被稱爲index.html的內

「自定義文件夾」是放在WordPress的文件夾中的我自己的自定義文件夾

注:get_current_user_id()返回在本地服務器上的正確的用戶ID和一切工作完全正常,但在遠程服務器上它返回0作爲playerid存儲0作爲數據庫的所有時間。可能有什麼問題請幫忙?

+0

爲什麼不使用wordpress ajax鉤子? – madalinivascu

+0

@madalin我不知道該怎麼做。此外,ajax文件不是WordPress的一部分,它只是將一些數據保存到包含來自wp的用戶標識的數據庫中。但是,它在我的本地主機上正常工作。謝謝 –

+0

確定你已登錄? – madalinivascu

回答

0

通過清除Web瀏覽器和本地存儲的緩存來修復。

相關問題