Php 将产品添加到愿望列表的会话中,而不是像现在这样删除会话
我的购物车愿望列表有问题。我用一个按钮将一篇文章以会话数组的形式添加到wishlist中,当我单击另一个图标以whishlist时,他会在删除之前所选项目的会话之前删除我单击的项目。 下面是我的js代码,用于获取会话的值: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
$(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'));)