Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 将产品添加到愿望列表的会话中,而不是像现在这样删除会话_Php_Jquery_Session_Add - Fatal编程技术网

Php 将产品添加到愿望列表的会话中,而不是像现在这样删除会话

Php 将产品添加到愿望列表的会话中,而不是像现在这样删除会话,php,jquery,session,add,Php,Jquery,Session,Add,我的购物车愿望列表有问题。我用一个按钮将一篇文章以会话数组的形式添加到wishlist中,当我单击另一个图标以whishlist时,他会在删除之前所选项目的会话之前删除我单击的项目。 下面是我的js代码,用于获取会话的值: $(document).ready(function(){ $(".addButton").on("click", function(event){ event.preventDefault(); var button = $(thi

我的购物车愿望列表有问题。我用一个按钮将一篇文章以会话数组的形式添加到wishlist中,当我单击另一个图标以whishlist时,他会在删除之前所选项目的会话之前删除我单击的项目。 下面是我的js代码,用于获取会话的值:

 $(document).ready(function(){
    $(".addButton").on("click", function(event){
        event.preventDefault();
        var button = $(this);
        var parent = button.parent();
        var wlproducturl = parent.find("input[name$='.id']").val();
        var wlproduct = parent.find("input[name$='.name']").val();

            $.ajax({
        type : "POST",
        url : "../assets/wlscript.php",
        data : { wlproduct : wlproduct, wlproducturl : wlproducturl },
        success : function(data) { 
        $('div#resultwish').html('<div class="alert alert-success in fade" ><button type="button" class="close" data-dismiss="alert">×</button>You added '+wlproducturl+' '+wlproduct+'\'s to your wishlist.</div>');
        }
    }); 

        // alert("Add article with id = " + idArticle + " and name = " + nameArticle);
    });
}); 
$(文档).ready(函数(){
$(“.addButton”)。在(“单击”上,函数(事件){
event.preventDefault();
var按钮=$(此按钮);
var parent=button.parent();
var wlproducturl=parent.find(“输入[name$='.id']”)val();
var wlproduct=parent.find(“输入[name$=”.name']).val();
$.ajax({
类型:“POST”,
url:“../assets/wlscript.php”,
数据:{wlproduct:wlproduct,wlproducturl:wlproducturl},
成功:函数(数据){
$('div#resultwish').html('×您在愿望列表中添加了'+wlproducturl+'+wlproduct+'\);
}
}); 
//警报(“添加id=“+idArticle+”和name=“+nameArticle”的文章);
});
}); 
这是我的wlscript php文件:

<?php
session_start();


$p = trim($_POST['wlproduct']);
$q = trim($_POST['wlproducturl']);
$orders[$p] = $q;
$_SESSION['orders'] = $orders;
?>

因此,我输出所选项目:

                              <?php
session_start();
print_r($_SESSION['orders']);
?>


那么,如何在不删除旧项目的情况下将新项目添加到会话中向wishlist添加更多产品?

可能只是因为您每次都用实际代码覆盖$orders:

<?php
session_start();

$p = trim($_POST['wlproduct']);
$q = trim($_POST['wlproducturl']);
$orders[$p] = $q; // UNAWARE IF $_SESSION['orders'], OR $orders ALREADY CONTAIN SOMETHING...
$_SESSION['orders'] = $orders; // ... AND THEREFORE ALL IS OVERWRITTEN.
?>


也许是这个

<?php
session_start();

// if (session_is_registered("orders")) // CAREFUL, OBSOLETE SINCE PHP 5.4.0
if (is_array($_SESSION['orders']))
{
$orders = $_SESSION['orders']; // RETRIEVING WHAT HAS PREVIOUSLY BEEN STORED
}


$p = trim($_POST['wlproduct']);
$q = trim($_POST['wlproducturl']);
$orders[$p] = $q; // THIS NOW ADDS TO EXISITNG
$_SESSION['orders'] = $orders;
?>


当我添加到wlscript.php中的whishlist时,他返回了一个内部服务器错误500。你知道这是关于什么的吗?一点也不知道。此代码不应干扰Apache。它可能来自复制/粘贴。。。您是否尝试编写添加的行而不是复制它们?您使用什么版本的PHP?会话“”已注册“”可能已过时。在本例中,请尝试:if(is_数组($_会话['orders'))…Great man really Thank始终在stackoverflow上非常棒用户支持big Thank man really会话已过时正在使用if(is_数组($_会话['orders'));)