如何从JavaScript访问我的PHP变量?

时间:2011-03-30 02:33:23

标签: php javascript database

  • 加星标表示由于我对HTML,JavaScript和PHP交互方式缺乏了解而可能出现问题的地方

情况如下:

我正在创建一个使用JavaScript的游戏,我正在尝试使用PHP从数据库访问玩家信息(玩家的名字)。为了帮助我调试我目前没有尝试访问数据库。现在我只是在PHP文件中放置一个变量来表示我将来尝试访问的信息,一个字符串,这是玩家的名字。访问HTML文件,JavaScript文件和PHP文件如下:

*文件全部保存在同一目录中的GoDaddy托管中,文件名为:

的index.html

milktruck.js

xml_http_request.php

用户访问网站,该网站使用以下代码行访问JavaScript文件:

    <script type="text/javascript" src="milktruck.js"></script>

游戏开始并向用户呈现游戏界面。此时,用户尚未指定进入多人模式,因此访问PHP变量并显示它的JavaScript代码行未触发。

*我的JavaScript文件或HTML文件中没有任何地方可以引用我的PHP文件,例如HTML文件中对JavaScript文件的引用。我是否需要参考PHP文件?使用xml_http_request.php会有什么不同吗?

我尝试在JavaScript文件中添加以下代码行:

    var simple = '<?php echo $simple; ?>';

以及我的PHP文件中的以下内容:

    $simple = 'simple string';

但是当我运行游戏并点击多人游戏模式而不是字符串'simple string'时,显示字符串“php echo $ simple;”显示(包含所有其他字符,Stack Overflow不会让我把它放在那里)。 JavaScript认为PHP代码是一个字符串,而不是一行代码。

这里有什么问题?

如果你想亲眼看看,这里有我游戏的链接。只需点击屏幕下方的“多人游戏模式”按钮即可。

http://alterearth.net

5 个答案:

答案 0 :(得分:2)

所以你要将php代码添加到.js文件中?

如果是这样,那么除非<?php ?>在.php文件中,否则服务器将无法识别该标记。这是除非您更改服务器设置。

答案 1 :(得分:1)

您可以使PHP代码使用其中的变量回显Javascript代码。

示例:

echo "<script> var x = $variable; </script>";

答案 2 :(得分:0)

你不能在javascript文件中嵌入php,因为javascript文件将由浏览器解释,它不知道任何关于php的信息。相反,你应该把JavaScript放在PHP文件中。 e.g。

  

echo“&lt; script&gt; userinfo ='xxxxxxxxx'&lt; / script&gt;”;

然后你可以在javascript中获取userinfo对象。你可以这样做因为php文件会生成将被浏览器解释的html。

答案 3 :(得分:0)

Drupal为端口 PHP变量提供了一个简单的API,如果您希望此功能更加分层和灵活,请查看drupal_add_js

答案 4 :(得分:0)

我看到三个可能的答案:

1)你可以设置PHP以便注意.js文件,就像这个人谈到:http://www.geekhelpguide.com/php/handle-images-css-js-php-httpd-conf-using-htaccess/

2)在.php文件中创建一个隐藏变量,如下所示:<input id="myvariable" type="hidden" value="<?php echo $simple;?>">然后使用javascript引用隐藏变量,如下所示(如果使用jquery):$("#myvariable").val();

3)将你的javascript嵌入你的.php文件中,就像其他一些已经给出答案的人一样。

我希望有所帮助。如果有,请标记为答案。