首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用php更新Cookie

无法使用php更新Cookie
EN

Stack Overflow用户
提问于 2018-06-24 08:39:11
回答 1查看 30关注 0票数 0

我使用cookie来保存PHP数组(0 => 0,1=>0,......,99=>0),并且我将数组编码成JSON以便能够将其保存在cookie中,问题是当我解码JSON以检索数组并更改字段的值时,我无法更新cookie,我也不知道为什么。

这是我用来创建cookie的代码:

代码语言:javascript
复制
$carrito=array(0=>0);
            $sql = "SELECT ID FROM productos";
            $ids = $conn->query($sql);
            if ($ids->num_rows > 0){
                while($row = $ids->fetch_assoc()) {
                    array_push($carrito, 0);
                }
            } else {
                echo "0 results";
            }
            $conn->close();//cerramos la conexión
            setcookie("carrito", json_encode($carrito), time()+(86400),"/");

这是我用来解码JSON并通过arrat修改它的代码:

代码语言:javascript
复制
 if(isset($_POST["id"])){
            $idProducto=$_POST["id"];
            $data = json_decode(stripslashes($_COOKIE["carrito"]),true);
            print_r($data);
            echo "</br>".$idProducto."</br>";
            foreach($data as $id => $cantidad){
                if($id == $idProducto){
                    $cantidad++;
                }
            }
            print_r($data);
            setcookie("carrito", json_encode($data), time()+(86400),"/");
        }

问题是,在解码json之后,当我尝试遍历数组时,它不会将行$data识别为$id => $cantidad。

这是我在print_r($data)时得到的结果:

代码语言:javascript
复制
Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 0 ) 
EN

回答 1

Stack Overflow用户

发布于 2018-06-24 08:48:29

已经通过使用以下命令解决了这个问题:

代码语言:javascript
复制
$data[$idProducto]++;

代替foreach循环

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51006104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档