请在使用wp函数 get_current_user_id()检索登录的用户ID后,使用WordPress并使用Ajax将一些数据存储到数据库中。
在我的本地服务器上一切正常 - localhost但在我的远程服务器 get_current_user_id()总是返回0而不是登录用户ID。
当我直接运行submit.php文件时 get_current_user_id()返回用户ID
请注意,submit.php和Ajax不是Wordpress的一部分,它位于wordpress根文件夹中的单独文件夹中
当我单独运行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 Call 文件与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模板启动整个过程的原因。
在index.html中调用Ajax脚本
&#34;自定义文件夹&#34;是我自己的自定义文件夹放在WordPress文件夹
注意: get_current_user_id()在本地服务器上返回正确的用户ID,一切正常,但在远程服务器上,它返回0,将0作为playerid存入数据库每时每刻。可能有什么问题请帮帮忙?
答案 0 :(得分:0)
通过清除Web浏览器和本地存储的缓存来修复。