通过AJAX发送PHP变量值

时间:2014-11-10 15:39:14

标签: javascript php jquery ajax

我目前正在使用AJAX来获取服务器上在线玩家的数量。我使用以下代码在主页上调用ajax函数:

<script>
$(document).ready(function() {
    setInterval(function() {
        $.get("avatarquery.php", function(players) {
            $("#playersPLZ").text(players);
        });
    }, 3000);
});
</script>

在页面上avatarquery.php我有以下PHP代码:

<?php
require_once 'checkinfo.php';
echo getPlayersTotal();
?>

最后,我在checkinfo.php页面上使用以下代码来ping服务器并将数据发送回以前的页面:

<?php

function getPlayersTotal() {
$version = 0;
//ini_set("display_errors", 1);
//ini_set("track_errors", 1);
//ini_set("html_errors", 1);
//error_reporting(E_ALL);


$SERVER_IP = "37.187.139.123"; 
$SERVER_PORT = "26618"; 
$QUERY_PORT = "26618";

$HEADS = "3D"; 
$show_max = "unlimited"; 
$SHOW_FAVICON = "on"; 

$TITLE = "My fancy Serverpage";
$TITLE_BLOCK_ONE = "General Information";
$TITLE_BLOCK_TWO = "Players";

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

$ping = json_decode(file_get_contents('http://api.minetools.eu/ping/' . $SERVER_IP . '/' . $SERVER_PORT . ''), true);
$query = json_decode(file_get_contents('http://api.minetools.eu/query/' . $SERVER_IP . '/' . $QUERY_PORT . ''), true);


if(empty($ping['error'])) { 
$version = $ping['version']['name'];
$online = $ping['players']['online'];
$max = $ping['players']['max'];
$motd = $ping['description'];
$favicon = $ping['favicon'];
}

if(empty($query['error'])) {
$playerlist = $query['Playerlist'];
}

return $version;
}
echo getPlayersTotal();
?>

目前$ SERVER_IP和$ SERVER_PORT变量直接在checkinfo.php代码中定义。 但是,我想从我的主页面发送这些变量的值。我该怎么做?

1 个答案:

答案 0 :(得分:0)

将它们作为参数添加到您的函数中,例如

function getPlayersTotal($ip, $port) { ... }
echo getPlayersTotal($_REQUEST['ipcheck'], ...);

或只是在主文件中移动变量定义:

$SERVER_IP = $_REQUEST['ipcheck']; 
$SERVER_PORT = $_REQUEST['portcheck']; 
require_once 'checkinfo.php';