Php 将多个值保存到会话数组并读取它们

Php 将多个值保存到会话数组并读取它们,php,jquery,session,Php,Jquery,Session,我在将多个值(product_id)保存到会话数组时遇到问题,无法刷新页面并稍后读取它们 这就是我试图拯救他们的方式。我的页面加载jquery并具有session_start();在头部 ... while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) { echo "<a href='#". $row['id'] ."' id='clickme". $row['id'] ."'>Add to li

我在将多个值(product_id)保存到会话数组时遇到问题,无法刷新页面并稍后读取它们

这就是我试图拯救他们的方式。我的页面加载jquery并具有session_start();在头部

...             


 while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))

{

echo "<a href='#". $row['id'] ."' id='clickme". $row['id'] ."'>Add to list</a> ";

echo "<script>";
echo "$('#clickme". $row['id'] ."').click(function(e) {";
echo "    e.preventDefault(); ";
echo "    $.ajax({";
echo "    type:'POST',";
echo "        url:'list.php', ";
echo "        data: { varname: '". $row['id'] ."'},";
echo "        success:function(response){";
echo "          alert(response);";
echo "        }";
echo "    });";
echo "});";
echo "</script>";

}
。。。
而($row=mysqli\u fetch\u数组($result,mysqli\u ASSOC))
{
回声“;
回声“;
回显“$”(“#clickme”。$行['id']。”)。单击(函数(e){”;
回显“e.preventDefault();”;
echo“$.ajax({”;
回声“类型:'POST',”;
echo“url:'list.php',”;
echo“data:{varname:'”$row['id'.“},”;
echo“成功:功能(响应){”;
回声“警报(响应);”;
回声“}”;
回声“});”;
回声“});”;
回声“;
}
这是我的list.php:

<?php
session_start();

if (!isset($_SESSION['list'])) {
  $_SESSION['list'] = array();
}

$_SESSION['list'] = $_POST['varname'];

?>

下面是我如何打印会话的:

<?php
session_start();

 print_r($_SESSION['list']);

?>


我真的不知道我做错了什么,所以如果有任何帮助,我将不胜感激。:)

不知道你在做什么。。。但我建议您研究一下本地存储。我真的怀疑(没有测试)您是否可以通过ajax调用保存会话变量,因为php从未真正访问过浏览器。除此之外:我建议在类
上只使用一个eventlistener。单击我
(没有id),然后获取id(通过数据属性f.e.)。同样的结果,但代码更简洁。最后:这里
$\u SESSION['list']=$\u POST['varname']无论如何都会覆盖以前的条目。