PHP 值未从其他页面检索

PHP values not retrieving from other page

我正在处理的这个页面是一种游戏。 从一个页面到另一个页面,我像这样传递用户名

索引:

<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']; 不工作并且名称没有通过

这是link如果你喜欢玩:http://i333180.iris.fhict.nl/site (还没完)

这些是你的问题:

1- 您不需要在一个文件中使用多个 session_start()。 2- 你已经关闭了第二个代码中的 php 标签,然后继续 PHP 编码。 3- 在 session_start() 之前,它不得发送任何 header 或回显任何内容。在第三个代码中,您在 session_start() 之前回显了

标记。 4- 与 session_start() 相同,在调用 header 函数之前不得发送任何 header 或回显任何内容。确保在第 4 页中,在 header().

之前没有任何回显