PHP-未定义的会话

PHP-未定义的会话,php,arrays,session,Php,Arrays,Session,我正在尝试建立一个登录系统,如果输入的详细信息正确与否,它将重定向到相应的页面 session_start(); $result = mysqli_query($con, "my query"); if(mysqli_num_rows($result) == 1) { $_SESSION['username'] = $username; header("Location: home.php"); } else { header("Location: login.php"

我正在尝试建立一个登录系统,如果输入的详细信息正确与否,它将重定向到相应的页面

session_start();

$result = mysqli_query($con, "my query");
if(mysqli_num_rows($result) == 1)
{
    $_SESSION['username'] = $username;
    header("Location: home.php");
}
else
{
    header("Location: login.php");
}
但是,如果我输入了正确的详细信息,我会得到:“
未定义变量:\u SESSION


我真的不知道这里出了什么问题。

您需要确保在要使用超全局数组的每个php文件的顶部启动会话(
session\u start()
)。最常见的原因是您已经开始向浏览器输出。如果在开始前有空格或HTML,就会发生这种情况
这是drupal的问题吗?如果是这样,这可以帮助您:


请在
会话\u start()
之前显示其余代码,好吗?调用
session\u start()
之前的错误(在前面的代码中)或任何输出都可能导致您的错误。

您的php版本是什么?
\u session
?会话变量的名称为
$\u session
。那是拼写错误吗?如果成功,此函数将返回TRUE,因此请尝试使一个变量接收返回值和
var\u dump()
it。我不知道为什么。他的代码已经在最开始的时候显示了一个session_start()top@AlanChavez在这个PHP文件的顶部,而不是他被重定向的文件(我猜)。代码>如果(!session_id())session_start(),否则可能会出现警告,这类似于:会话已启动。是的,它所指向的文件有问题,谢谢。是的,它所指向的文件有问题,谢谢。所以问题已在@user9993回答?如果是,请将其标记为已解决。