Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在没有警告的情况下将会话_start()与AJAX一起使用_Php_Ajax_Session - Fatal编程技术网

Php 在没有警告的情况下将会话_start()与AJAX一起使用

Php 在没有警告的情况下将会话_start()与AJAX一起使用,php,ajax,session,Php,Ajax,Session,我使用AJAX调用php脚本,将“+1”添加到某个产品中,并将其保存在购物车中。看起来一切正常,但我有以下警告: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 我的代码如下: <?php session_start(); if (!isset($_SESSION["product1"])) { $_SESSION

我使用AJAX调用php脚本,将“+1”添加到某个产品中,并将其保存在购物车中。看起来一切正常,但我有以下警告:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
我的代码如下:

<?php
session_start();
if (!isset($_SESSION["product1"])) {
    $_SESSION["product1"] = 0;
}
if (!isset($_SESSION["product2"])) {
    $_SESSION["product2"] = 0;
}
var_dump($_SESSION);
session_write_close();
?>

<!doctype html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="js/ajax.js"></script>
</head>
<body>
<p id="add1">Prod 1: <?php echo $_SESSION["product1"]; ?></p>
<p id="add2">Prod 2: <?php echo $_SESSION["product2"]; ?></p>
<li><a href="#" onclick=ajax("add1")> Add product1 </a><br></li>
<li><a href="#" onclick=ajax("add2")> Add product2 </a><br></li>
</body>
</html>
add1.php与add2.php类似:

<?php
session_start();
$_SESSION["product1"] += 1;
$response = 'Vinho 1: ' . $_SESSION["product1"];
echo $response;
session_write_close();
?>

我做错了什么?我只想继续这个环节。我试着把session\u write\u close()去掉,但我还是有同样的方法。使用@session_start()解决了这个问题,但我认为它只是隐藏了警告,对吗


顺便问一下,购物车的最佳实践是什么?我应该用饼干吗?我刚刚开始,就我所知,会话只在您不关闭浏览器的情况下保存数据,所以我想最好将所有数据存储在cookie中几天,并在开始时检查是否有任何cookie集。如果有人能给我举一些使用简单cookies的好例子(如果有任何缺点),请告诉我。

可能,在你的
之前,你有一些字符,我只是过度复杂了。问题是之前有一个标签,@johncode所指示的链接真是太棒了!谢谢。哦,上帝。。。我现在很惭愧。我只是没有正确地查看2 add.php文件,当我第100次检查时,我在打开php之前看到了一个选项卡。没关系!这是一生中只发生一次的错误之一:)
<?php
session_start();
$_SESSION["product1"] += 1;
$response = 'Vinho 1: ' . $_SESSION["product1"];
echo $response;
session_write_close();
?>