使用会话的问题

时间:2010-09-20 06:03:04

标签: php session

使用会话进行购物车应用程序。它工作正常,但今天突然出现问题,每当我试图添加第二个项目时,第一个项目被删除,它会发出以下警告..

警告:session_start()[function.session-start]:无法发送会话cookie - 已经在/ home / matadije / public_html /中发送的输出(/home/matadije/public_html/cat_process.php:2中的输出)第3行的cat_process.php

警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 已在/ home / matadije / public_html /中发送的报头(在/home/matadije/public_html/cat_process.php:2处开始输出)第3行的cat_process.php

我的代码的前3行如下:

<title></title>
<?php
session_start();

4 个答案:

答案 0 :(得分:3)

在开始会话之前输出<title></title>,这意味着已经发送了所有HTTP标头,并且无法向响应添加会话cookie。将代码移动到如下所示:

<?php
session_start();
?>
<title></title>

答案 1 :(得分:3)

如果使用cookie,则必须在任何输出之前调用session_start()函数。

在您的情况下,您似乎使用Cookie并且<title></title>输出会阻止session_start()被调用。


关于PHP.net文档的说明:

  

注意:

     

要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start()。


资源:

答案 2 :(得分:2)

在打印任何内容(如HTML)之前,必须初始化Session。

将您的代码更改为

<?php session_start(); ?>
<html>
...

它会起作用。

答案 3 :(得分:1)

它应该是页面的第一行。