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