在这里,我遇到了一个奇怪的问题。我有一个购物车,我希望我的网站的每个页面都显示购物车中的商品数量。我正在添加以下代码:
<?php
session_start();
if (!isset($_SESSION['SHOPPING_CART'])){ $_SESSION['SHOPPING_CART'] = array(); }
$totalItems = is_array($_SESSION['SHOPPING_CART']) ? count($_SESSION['SHOPPING_CART']) : 0;
?>
代码在购物车页面上完美运行,该页面显示添加的所有项目,但不在任何其他页面上。还有一件事,上面的代码在XAMPP上完美运行,而不是在Web服务器上运行。这是我得到的错误:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at index.php:1) in index.php on line 2
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at index.php:1) in index.php on line 2
那可能是什么原因呢?与服务器上的PHP版本有关?如果是这样,为什么它在购物车页面上工作?
答案 0 :(得分:1)
您已经在第2行发送标题,在您提到的文件中。
启用错误报告并仔细检查您的代码。
如果您以前的错误被静默抑制,但仍然出现在页面上,因此已经将输出发送到浏览器,或者您在PHP开始标记的开头有一个空格,则可能性非常高。
查看this问题,了解更多更深入的信息。