为什么这个会话变量不起作用......?

时间:2014-04-02 18:10:34

标签: javascript php

我正在为课堂制作游戏,当用户完成一个关卡时,他们会继续进行下一个游戏。但由于他们不能直接访问URL,我尝试在JavaScript If语句中创建一个PHP会话变量来赢得游戏,如下所示:

if (passOnLevel == 0 && passengerCarrying == 0) {
    alert("You Win!");
<?php $_SESSION['levelCompleteC'] = 'levelOneComplete'; ?>
    window.location.href='gameL2.php';
}

gameL2.php文件(第2级)中,我在页面顶部有If语句:

<?php session_start(); ?>
<?php if (isset($_SESSION['RobotName'], $_SESSION['traction'], $_SESSION['passenger'], $_SESSION['levelCompleteC'])) {
....
....
........

然而$_SESSION levelOneC变量{{1}}来检查成功完成等级是否会在第一级加载时自动设置,因此它实际上并未检查它们是否赢得了等级

还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

PHP在页面加载之前呈现,这意味着您无法在页面加载后插入PHP代码以执行。使用AJAX执行所需的操作。

为了方便参考,Google&#34; XMLHttpRequest&#34;或者参见here