使用JS的PHP URL属性

时间:2013-02-17 07:42:21

标签: php javascript html url

我正在制作HTML5游戏,每个级别都有一个新的HTML页面。每个级别的结果都存储在JS变量中。

如何使用网址将该信息传递到下一页?

我在考虑像

这样的东西
  

www.example.com/level5.php?lvl1=10&lvl2=15&lvl3=13

等等。

如何将JS变量值放入此类地址?

我不需要使用JS访问此信息,但我只需要添加信息。

谢谢!

4 个答案:

答案 0 :(得分:0)

您可以使用jQuery更改链接的“href”属性值:

$("#lvl2link").attr("href","www.example.com/level2.php?lvl1=" + score);

没有jQuery就可以实现同样的效果。

这是一个JSFiddle:http://jsfiddle.net/ZPv93/1/

答案 1 :(得分:0)

没有jQuery:

var lvl1 = "10";
var lvl2 = "15";
window.location.href = "www.example.com/level5.php?lvl1="+lvl1+"&lvl2="+lvl2;

然后使用GET在PHP中创建变量:

$lvl1 = $_GET['lvl1'];
$lvl2 = $_GET['lvl2'];

答案 2 :(得分:0)

您可以使用以下代码段访问Javascript中的$ _GET-Variables:

(function(){ // Import GET Vars
   document.$_GET = [];
   var urlHalves = String(document.location).split('?');
   if(urlHalves[1]){
      var urlVars = urlHalves[1].split('&');
      for(var i=0; i<=(urlVars.length); i++){
         if(urlVars[i]){
            var urlVarPair = urlVars[i].split('=');
            document.$_GET[urlVarPair[0]] = urlVarPair[1];
         }
      }
   }
})();

要访问它们,请使用:

document.$_GET['lvl1']

信用: http://failchad.blogspot.ch/2009/01/accessing-get-variables-in-javascript.html

要添加信息,请使用@tommyf

中的代码段

答案 3 :(得分:0)

包含每个结果的session variable怎么样?只要会话处于活动状态(通常意味着只要浏览器处于打开状态),就会在每个级别结束时更新分数。如果会话中没有分数,则应加载第一级。为了保存进度,您可以提供用户下次需要输入的“进度键”。

作为替代方案,如果您只想使用javascript,则可以查看HTML5 LocalStorage。如果您考虑到浏览器已经具有HTML5兼容性,那么您的情况可能是一个很好的选择。

GET参数的问题在于,无论您选择将高分存储在网址中的名称如何,人们都会调查并很快能够改变他们的高分,以解锁任何奖励将带来好成绩,甚至到达垃圾邮件列表的顶部(即:排名#1:购买此blablabla $ xx blabla.com(9999999999积分))。 LocalStorage有点难以作弊(但很容易),而会话变量则更难以作弊。