【问题标题】:session_regenerate_id(): Cannot regenerate session id - headers already sent insession_regenerate_id():无法重新生成会话 ID - 标头已发送
【发布时间】:2020-02-20 14:01:00
【问题描述】:

它正在输出:session_regenerate_id(): 无法重新生成会话 ID - 标头已发送

session_start();

session_regenerate_id();
$_SESSION['inside'] = TRUE;
$_SESSION['username'] = $GettedName;
$_SESSION['id'] = $ID;
$_SESSION['email'] = $sirname ;
$_SESSION['sirname '] = $sirname ;

【问题讨论】:

标签: php


【解决方案1】:

会话已经发送错误的原因很少。请使用 ob_start();

ob_start();
session_start();
session_regenerate_id();
$_SESSION['inside'] = TRUE;
$_SESSION['username'] = $GettedName;
$_SESSION['id'] = $ID;
$_SESSION['email'] = $sirname;
$_SESSION['sirname '] = $sirname;

【讨论】:

    【解决方案2】:
    ob_clean();
    ob_start();
    

    在代码的开头并检查您的会话数组中是否有空间,如下所示

    $_SESSION['sirname '] = $sirname ;
    

    应该是

    $_SESSION['sirname'] = $sirname ;
    

    试试这个

    ob_clean();
    ob_start();
    session_regenerate_id();
    $_SESSION['inside'] = TRUE;
    $_SESSION['username'] = $GettedName;
    $_SESSION['id'] = $ID;
    $_SESSION['email'] = $sirname;
    $_SESSION['sirname'] = $sirname;
    

    【讨论】:

    • 谢谢,我试过了,但这不是原因。我添加了 ob_start();在 session_start() 之上;我认为它有效
    猜你喜欢
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2013-05-15
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多