登录代码错误,session_start()


login code error, session_start()

我正在尝试创建一个登录表单,我创建了html表单并编写了这段PHP代码,但我一直收到关于session_start();和头已经发送的错误

错误:

警告:session_start():无法发送会话cookie-已经发送了标头

<?php
session_start();
if($_POST['submit'])
{
include_once('my_connection.php');
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$sql = "SELECT id,username,password FROM users WHERE username = '$username'  AND password = '$password'";
$query = mysqli_query($connect,$sql);
if($query) {
$row = mysqli_fetch_row($query);
$id = $row[0];
$dbusername = $row[1];
$dbpassword = $row[2];
if($username == $dbusername && $password == $dbpassword)
{
    $_SESSION['username'] = $username;
    $_SESSION['id'] =$id;
    header('Location:home.php');
}else {
    echo "Incorrect username or password.";
} } }?>

我把session_start()放在代码的顶部,但仍然无法使用

警告:session_start():无法发送会话cookie

首先,始终将您的start_session()放在顶部。是的,在上面添加ob_start()可能会修复它,在底部添加ob_flush()可能会修复,但看起来并没有

如果您需要同一个文件或另一个文件,请确保您需要的文件中没有session_start()函数。请确保在相同代码中的其他任何位置都没有session_start()的副本。

此外,一个很大的原因实际上可能是因为header()中缺少语法,并且程序没有完成/结束,只需要。

更改为:

header('Location: home.php');
exit;

进一步帮助您的来源:

来源1
来源2