請我與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作爲數據庫的所有時間。可能有什麼問題請幫忙?
爲什麼不使用wordpress ajax鉤子? – madalinivascu
@madalin我不知道該怎麼做。此外,ajax文件不是WordPress的一部分,它只是將一些數據保存到包含來自wp的用戶標識的數據庫中。但是,它在我的本地主機上正常工作。謝謝 –
確定你已登錄? – madalinivascu