Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP获取信息到HTML5JavaScript游戏_Php_Javascript_Html_Node.js_Socket.io - Fatal编程技术网

从PHP获取信息到HTML5JavaScript游戏

从PHP获取信息到HTML5JavaScript游戏,php,javascript,html,node.js,socket.io,Php,Javascript,Html,Node.js,Socket.io,我一直在玩弄JS/Node/Socket.IO,制作了一个多人游戏,在这个游戏中,你们都是点,可以四处移动。现在,我想把它提高一个层次,添加一个简单的登录系统,这样我就可以在用户头部上方显示用户登录的信息,以帮助识别不同的玩家 现在我知道PHP是一种服务器端语言,JavaScript主要是客户端语言,但我需要想出一种方法来做到这一点。我真正想问的是,有人知道如何将信息直接从PHP转换成JavaScript吗 稍后,我可能会想在数据库中添加和存储玩家的级别,并在连接时检索它们(而不是使用本地存储)

我一直在玩弄JS/Node/Socket.IO,制作了一个多人游戏,在这个游戏中,你们都是点,可以四处移动。现在,我想把它提高一个层次,添加一个简单的登录系统,这样我就可以在用户头部上方显示用户登录的信息,以帮助识别不同的玩家

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

稍后,我可能会想在数据库中添加和存储玩家的级别,并在连接时检索它们(而不是使用本地存储)

非常感谢


Joel

您可以使用PHP编写JavaScript

e、 g

$jsVars=array(
“一”=>“你好”
“两个”=>“哟”
);
回声';
echo“var phpVars=“.json_encode($jsVars);
回声“;

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

我通常这样做:

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

变量名=“”;

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

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

一个基本的例子是

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();

}

编辑:没关系来自客户端的AJAX请求和PHP中的json_encode()是您的朋友。除此之外,你还必须更具体地说明你想做什么。非常感谢乔治,这么简单的概念我刚刚忘记了!但有一件事,这是一种有效的做事方式吗?假设我要用HTML5技术构建一个MMORPG,平均每天50000名玩家,这是一个好方法吗?@jskidd3这真的取决于你想要传输的数据类型。我个人会使用ajax,但如果这不是一个选项,这也会起作用。@jskidd3没问题,正如Soriyx所说,我绝对推荐jQuery来处理ajax。Ajax作为一种长期解决方案更易于维护。您希望了解如何在PHP中构建API,以便轻松获取正确的数据。因此,对于用户信息,您可以向url“yoursite.com/api/userinfo”发出请求,它将返回javascript所需的所有用户信息。这就是像Twitter这样的网站允许人们获取推文的方式
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();

}