会话变量不会被记住到下一页

Session variables won't be remembered to the next page

我正在尝试构建一个猜词游戏,人们在其中输入自己的名字,并给他们 5 次尝试来猜一个游戏(第一个字母是免费的)。

我让游戏运行得很好,但我决定添加一个“'starting'”页面,人们可以在其中输入他们的名字,并且已经预先为实际选择的随机词游戏页面。 (它是 20 字数组中的一个字)

但是现在不知道为什么每次有人进游戏的时候直接跳过游戏画面直接跳到win-screen... 应该会显示名字和winning word , 但它没有显示它们中的任何一个,它只是空白。

所以我假设出于某种原因,在您输入名称后不会记住这两个变量,因此游戏将 null 与 null 进行比较并且游戏是“'won'”.. .

显然,这不应该发生。从数组中挑出一个单词,放入session_variable。您在表单中输入的名称也是如此。

鉴于这是一个三页的 PHP 脚本,我将在此处放置指向 Hastebin 的链接而不是 post 片段。提前抱歉,但我认为它会更好...

开始屏幕: http://hastebin.com/orisazubis.xml

游戏画面:http://hastebin.com/akuzekawil.php

$session$_session 全部替换为 $_SESSION

在你的:

http://hastebin.com/orisazubis.xml 变化:

if($random == null) {
        $session = $woorden[rand(0,19)];
}

if($random == null) {
        $_SESSION['random'] = $woorden[rand(0,19)];
}

终于在文件中 http://hastebin.com/akuzekawil.php

更改:

$random = $_session['random'];

if (isset($_SESSION['random'])) {
$random = $_SESSION['random'];
}else{
$random=null;
}

也在这里检查:

$_session['naam'] = $_POST['naam'];

更改为:

   if (isset($_POST['naam']) && !empty($_POST['naam']){
        $_SESSION['naam'] = $_POST['naam'];
} else {
       $_SESSION['naam'] = null;
}

更新行:

if($random == $testen){

if(!empty($testen) && $random == $testen){

如果我没看错你的逻辑

我没有仔细阅读所有内容,但为什么不尝试 $_SESSION,因为那是 PHP 填充的内容?您知道 PHP 变量区分大小写吗?