在我的文件adapter.php中,我有以下代码:
case' buyCard':
static $order=array();
$id=$_POST['id'];
$quantity=$_POST['quantity'];
$price=$_POST['price']; //var_dump($price);
$order['id']=$id; $order['quantity']=$quantity; $order['price']=$price;
static $i=0;
$_SESSION[$i]=$order; $i++; var_dump($i);
break;
其中id,price和quantity等信息来自card.php文件中的ajax,并且已激活' onclick'。我需要一个计数器,每当用户点击触发此事件的按钮时,它将帮助我在会话中存储数据。但我的反击是静态$ i'应该作为索引工作不是递增,我不明白为什么?如果对这个问题有其他解决方案,我很高兴听到它。
答案 0 :(得分:0)
由于您每次下达新订单时都会调用buyCard.php
,因此static
没有任何帮助:它只会在同一个脚本实例中更新其包含的信息 < / EM>!
所以你应该使用会话变量来处理你的计数器,就像你已经为订单做的那样(但你最好有一个独特的orders
会话变量而不是计数器)。
像这样:
session_start();
// ...
$order['id']=$_POST['id'];
$order['quantity']=$_POST['quantity'];
$order['price']=$_POST['price'];
@$_SESSION['orders_count']++;
$_SESSION['orders'][$_SESSION['orders_count']]=$order;
请注意避免启动@
的{{1}}:此处这个不受欢迎的错误抑制器是有意义的,因为唯一可能的错误&#34;是变量还没有存在。