我有这个页面,我正在研究这是一种游戏。 我从页面到页面传递用户名
指数:
<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 (尚未完成)
答案 0 :(得分:1)
这些是你的问题:
1-您不需要在文件中使用多个session_start()。 2-您已在第二个代码中关闭了php标记,然后对PHP编码进行了计数。 在session_start()之前的3-,它不能发送任何头或回显任何东西。在第3个代码中,您在session_start()之前回显了
标记。 4-与session_start()相同,在调用header函数之前,不得发送任何标题或echo。请确保在第4页中,在header()之前没有任何回显。