为什么不能声明会话?

时间:2018-03-11 10:58:18

标签: php

我收到错误:警告:session_start():无法发送会话缓存限制器 - 已发送的标头

    <?php 
    session_start();
    include_once('connection.php'); 
    $login = $_REQUEST['login'];
    $password = $_REQUEST['pass'];

    if (isset($_REQUEST['sendInfo'])) {
        $sql = "select login, password from users";
        $result = mysqli_query($db, $sql);
        $row = mysqli_fetch_array($result);
        if ($login == $row['login'] && $password == $row['password']) {

            $_SESSION['login'] = true;

            // echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=../admin_Index.php">';
        } else {
            echo '<h1>Доступ запрещен!</h1>';
        }
    }

?>

1 个答案:

答案 0 :(得分:0)

&#34;已发送标题&#34;意味着您的PHP脚本已经发送了HTTP标头,因此它现在无法对它们进行修改。

在调用session_start之前,请检查您是否发送了任何内容。更好的是,只需将session_start作为你在PHP文件中做的第一件事(所以把它放在绝对的开头,在所有HTML等之前)。