登录后打印用户名时出错

时间:2017-02-08 07:35:39

标签: php

home screen

错误:(!)

enter image description here

  

警告:Session_start():无法发送会话缓存限制器 - 标头   已发送(输出已开始于   C:\ Wamp64 \ Www \ Needheee \ Userheader.Php:192)In   C:\ Wamp64 \ Www \ Needheee \ Userheader.Php On The Line 193

<li>
        <a> Welcome 
        <?php 
        session_start();
        echo $_SESSION['username'];
        ?>
        </a>
    </li>

5 个答案:

答案 0 :(得分:2)

默认情况下,PHP会话功能在请求之间使用cookie propagate the session ID

Cookie由session_start()设置。因为Cookie是在HTTP响应的header中发送的,session_start() must be called before any output is sent to the browser

在生成一些HTML后调用session_start()。您可以将使用output buffering文件中的任何内容之前的session_start()转移至capture the output(而不是立即将其发送到浏览器),send it时将其调用至{{1}} 39;适合您的申请流程。

答案 1 :(得分:0)

session_start()放在页面的开头

<?php
 session_start();
?>
//html codes

    <li>
            <a> Welcome 
            <?php 

            echo $_SESSION['username'];
            ?>
            </a>
        </li>

答案 2 :(得分:0)

这意味着你有太多的session_starts。要删除此错误,请检查每个页面上的有效会话。这样做:

<?php
if(!isset($_SESSION)){
    session_start();
}
//this would check for a session before starting it. if session has started, php would not attempt to start a new one
?>

答案 3 :(得分:0)

  

无法发送会话缓存限制器 - 已发送标头

写入文本时显示此警告(创建缓冲区) 当您的脚本创建了一些文本时进行重定向时,就会发生这种情况。

  

解决方案:在脚本输出任何文本之前,将session_start()函数移动到文件顶部。

答案 4 :(得分:0)

标题已发送错误主要发生在

  1. 脚本第一行的脚本中有空白区域
  2. 如果您在执行php脚本之前发送页面输出。
  3. 错误解决方案

    1. 先写你的PHP代码然后写html。
    2. 将此代码放在第一行<?php ob_start();?>