1

我一直在玩弄 JS/Node/Socket.IO 并制作了一个小型多人游戏,在其中你都是点并且可以四处走动。我现在想更进一步,并添加一个简单的登录系统,以便我可以在用户的​​头顶显示来自用户登录的信息,以帮助识别不同的玩家。

现在我知道 PHP 是一种服务器端语言,而 JavaScript 主要是客户端语言,但我需要想出一种方法来做到这一点。我真正要问的是,有人知道如何将信息直接从 PHP 获取到 JavaScript 中吗?

稍后我可能想添加调平并将玩家的关卡存储在数据库中,并在他们连接时检索它们(而不是使用本地存储)。

非常感谢!

乔尔

4

3 回答 3

1

如果您想在不加载页面的情况下提取数据。您可以使用 AJAX 调用一个 php 脚本来回显您需要的数据。您可以在成功登录 php 后将用户名存储在会话变量中,然后在需要时将其回显。

一个基本的香草 JS 示例是:

function getUsername(){

   var xmlhttp;

   if(window.XMLHttpRequest){
   xmlhttp=new XMLHttpRequest();
   }

   else{
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   xmlhttp.onreadystatechange=function(){

      if(xmlhttp.readyState==4 && xmlhttp.status==200){
      var username=xmlhttp.responseText;
      // code to add username above player here
      }

   }

   xmlhttp.open("GET","get_username.php",true);
   xmlhttp.send();

}

编辑:没关系。:D

于 2013-05-18T20:16:26.830 回答
1

我通常这样做:

<script type="text/javascript">
    var name = '<?php echo $name; ?>';
</script>

当然是在 PHP 文件中。我认为这对于服务器来说比使用 php 创建整个 javascript 更容易。

于 2013-05-18T20:12:26.777 回答
1

您可以使用 PHP 编写 JavaScript。

例如

   $jsVars = array(
      "one" => "hello"
   ,  "two" => "yo"
   );

   echo '<script type="text/javascript">';
   echo "var phpVars = ".json_encode($jsVars);
   echo "</script>";

或者您可以利用 ajax 向 PHP 发出请求并通过 JSON 传递数据。

于 2013-05-18T20:05:13.067 回答