PHP值未从其他页面

时间:2015-07-07 14:08:28

标签: php session get

我有这个页面,我正在研究这是一种游戏。 我从页面到页面传递用户名

指数:

<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 (尚未完成)

1 个答案:

答案 0 :(得分:1)

这些是你的问题:

1-您不需要在文件中使用多个session_start()。 2-您已在第二个代码中关闭了php标记,然后对PHP编码进行了计数。 在session_start()之前的3-,它不能发送任何头或回显任何东西。在第3个代码中,您在session_start()之前回显了

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