【问题标题】:PHP values not retrieving from other pagePHP 值未从其他页面检索
【发布时间】: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()。你确定你发布了正确的代码吗?您发布的代码永远无法工作......
  • 您的“第三个”代码工作正常。它不可能正常工作。 &lt;p&gt; 算作输出,因此 session_start() 将失败并显示 headers already sent
  • @JimVercoelen:如果它工作正常,那么唯一可能的解释是您启用了输出缓冲...
  • “我将此代码添加到第一页”-您的意思是包含 php 代码的第一页-您在帖子中将其称为“第二页”?

标签: php session get


【解决方案1】:

这些是你的问题:

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

session_start() 之前的

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

【讨论】:

  • 啊,谢谢,我删除了同一页面上的第二个 session_start,我不知道。我的帖子不是那么好,php标签现在在那里对不起那个
猜你喜欢
  • 2017-04-27
  • 2017-04-20
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 2013-03-24
  • 2017-05-01
相关资源
最近更新 更多