Php $\u会话不';似乎无法跨文件工作?

Php $\u会话不';似乎无法跨文件工作?,php,html,css,session,Php,Html,Css,Session,我正在为我的计算机课做一个游戏。用户必须在玩之前更改机器人的设置。大多数人都在使用VisualBasic或GameMaker,但我觉得使用基于web的语言更舒服 我刚才遇到的问题是在检查是否设置了$\u会话变量时。这是我的脚本截图: 如你所见,左边有一个叫做“播放”的按钮。在自定义页面上,用户填写所有设置,并将其存储为$\u会话变量。但是,当我在所有其他页面上使用If语句时,它总是认为这些设置未设置,因此不允许播放 这是customize.php页面代码(很抱歉发布了所有代码,但我觉得需要最好

我正在为我的计算机课做一个游戏。用户必须在玩之前更改机器人的设置。大多数人都在使用VisualBasic或GameMaker,但我觉得使用基于web的语言更舒服

我刚才遇到的问题是在检查是否设置了$\u会话变量时。这是我的脚本截图:

如你所见,左边有一个叫做“播放”的按钮。在自定义页面上,用户填写所有设置,并将其存储为$\u会话变量。但是,当我在所有其他页面上使用
If
语句时,它总是认为这些设置未设置,因此不允许播放

这是
customize.php
页面代码(很抱歉发布了所有代码,但我觉得需要最好地解释我的问题):

这在任何页面上都不起作用:
customize.php
index.php
instructions.php
。 我在
customize.php
页面上用以下代码创建了变量:

If (isset($_POST['Submit']) && $_POST['RobotName'] != '' && $_POST['traction'] != '' && $_POST['passenger'] != '') {
    $_SESSION['RobotName'] = $_POST['RobotName'];
    $_SESSION['traction'] = $_POST['traction'];
    $_SESSION['passenger'] = $_POST['passenger'];
} elseif (isset($_POST['Submit'])) {
    echo "<br />";
    echo "<br />";
    echo "<strong>Error: You must complete all fields on this page!</strong><br />";
}

?>
If(isset($\u POST['Submit'])和&$\u POST['RobotName']!=''&&$\u POST['traction']!=''&&$\u POST['passenger']!=''){
$_SESSION['RobotName']=$_POST['RobotName'];
$_SESSION['traction']=$_POST['traction'];
$_SESSION['passenger']=$_POST['passenger'];
}elseif(isset($_POST['Submit'])){
回声“
”; 回声“
”; echo“错误:您必须填写此页面上的所有字段!
”; } ?>
My index.php导航代码:

    <u><a href="index.php"><font color="orange">Welcome</font></a><br /><br />
    <u><a href="instructions.php">How to Play?</a></u><br /><br />
    <u><a href="customise.php">Customisation</a></u><br /><br />
    <?php require_once("session_start.php"); ?>
    <?php if (isset($_SESSION['RobotName'], $_SESSION['traction'], $_SESSION['passenger'])) {
    ?>
    <u><a href="game.php">Play</a></u>
    <?php 
      } else {
      ?>
<u><a href="#" onclick="alert('You must customise your robot first before playing!');">Play</a></u>
  <?php 
}
?>







那么有人知道为什么
$\u会话
变量似乎不起作用吗?目前我正在为此使用MAMP,以防万一与此相关。

您需要在访问任何会话变量之前调用session_start()

您需要在访问任何会话变量之前调用session_start()$\u SESSION变量的每个页面顶部调用code>

文档:

session_start()$\u SESSION
变量的每个页面顶部调用code>


文档:

使用会话启动方法

例如:

session_start();

使用会话启动方法

例如:

session_start();

您是否在每个页面上使用
session\u start()
是的,我在包含此代码的所有文件中都需要文件
session\u start.php
@MattKent它不能是
session start.php
它可以是
session start.php
session\u start.php
)只要试着把
放在使用会话变量的文档的第一行,我没有在页面顶部使用它。找到我的问题谢谢大家:)您是否在每个页面上使用
session\u start()
是的,我在包含此代码的所有文件中都需要文件
session\u start.php
@MattKent它不能是
session start.php
它可以是
session start.php
session start.php
)只要试着把
放在使用会话变量的文档的第一行,我没有在页面顶部使用它。找到我的问题谢谢大家:)那是我的问题。我没有在页面顶部定义它。:)那是我的问题。我没有在页面顶部定义它。:)
session_start();