使用会话进行购物车应用程序。它工作正常,但今天突然出现问题,每当我试图添加第二个项目时,第一个项目被删除,它会发出以下警告..
警告: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();
答案 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)
它应该是页面的第一行。