【发布时间】:2015-07-07 14:08:28
【问题描述】:
我正在处理这个页面,它是一种游戏。 从一个页面到另一个页面,我像这样传递用户名
索引:
<form method="GET" action="start.php">
<label> Name: </label>
<input type="text" name="username"><br>
<input type="submit">
</form>
我在第二页上检索名字的地方是这样的:
<?php
session_start();
$_SESSION['username'] = $_GET['username'];
?>
-
<?php
session_start();
if(isset($_SESSION['username'])){
echo "Welcome: " . $_SESSION['username'];
}
else{
echo "Name is unknown";
}
?>
还有第三个:
<p>
<?php
session_start();
echo $_SESSION['username']
?>
</p>
这段代码运行良好。现在我正在做一个if 声明,当你不输入名字时,你将不会继续到下一页。我将此代码添加到第一页,这适用于第一页。
<?php
session_start();
$_SESSION['username'] = $_GET['username'];
if($_SESSION['username'] != "")
{
header("Location: start.php");
}
?>
因此,添加此内容后,除非您输入名称,否则您将不会更进一步。但是由于我还不知道也找不到的原因这样做,$_SESSION['username'] = $_GET['username']; 不起作用,并且名称没有通过
如果你喜欢玩,这是链接:http://i333180.iris.fhict.nl/site (还没写完)
【问题讨论】:
-
请在
if之前尝试echo $_SESSION['username'];,看看它会给你什么。 -
你的第二页搞砸了:它有一个 php 结束标记,后面跟着另一个 session_start()。你确定你发布了正确的代码吗?您发布的代码永远无法工作......
-
您的“第三个”代码不工作正常。它不可能正常工作。
<p>算作输出,因此session_start()将失败并显示 headers already sent -
@JimVercoelen:如果它工作正常,那么唯一可能的解释是您启用了输出缓冲...
-
“我将此代码添加到第一页”-您的意思是包含 php 代码的第一页-您在帖子中将其称为“第二页”?