登录代码错误,session_start()

时间:2016-03-22 09:43:36

标签: php html login

我正在尝试创建一个登录表单,我创建了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()放在代码的顶部,但仍然没有工作

1 个答案:

答案 0 :(得分:1)

  

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

首先,始终将start_session()置于顶部。是的,在其上方添加ob_start()可能会修复它并在底部添加ob_flush()但是看起来它没有这样:

如果您需要相同的文件或其他文件,请确保您要求的文件中没有session_start()功能。确保您在相同代码中的任何其他位置都没有重复session_start()

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

将其更改为:

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

来源进一步帮助您:

Source 1
Source 2