PHP:$\u会话变量未定义

PHP:$\u会话变量未定义,php,html,session-variables,Php,Html,Session Variables,在表格页上,我有以下内容: <?php session_start(); if (isset($_POST['submit'])){ $_SESSION['username'] = $_POST['username']; } ?> <form action="index.php"> <input type="text" name="username"> <input type="submit" name="submit"> </form

在表格页上,我有以下内容:

<?php
session_start();
if (isset($_POST['submit'])){
   $_SESSION['username'] = $_POST['username'];
}
?>
<form action="index.php">
<input type="text" name="username">
<input type="submit" name="submit">
</form>

在“index.php”文件中,我有:

<?php
session_start();
echo ($_SESSION['username']);
?>


但是索引页面上的输出表明会话变量未定义。如何修复此问题以及为什么未定义此问题?

您的表单已提交到索引文件,并且您正在尝试将会话设置在与表单相同的页面上。但是您需要在索引文件中设置会话。之后,您可以在其他页面上使用会话。

这两个页面上还有其他内容吗?我认为在表单和
会话开始()之前会出现更多的HTML,如果是这样的话,您就会遇到“Headers ready sent”错误。始终在开发和测试代码时启用错误显示。在两个脚本的顶部:
error\u reporting(E\u ALL);ini设置(“显示错误”,1)
你的答案很可能喜欢在任何形式的输出提交到
index.php
之前,你需要移动
session\u start()
的地方,因此你需要在那里检索
$\u POST
信息,而不是在
form.php
中(或者不管你怎么称呼它),让我测试一下。我会告诉你它是否工作是的,它工作了,谢谢你的帮助,但是目前我无法在5分钟内将其标记为正确(或者这么说)