【发布时间】:2011-08-14 20:45:07
【问题描述】:
我在控制我正在创建的订单系统的脚本时遇到问题。
系统包含一个搜索功能,可以根据 mysql 表中保存的产品查询用户提供的字符串,如果字符串与项目描述的一部分匹配,则返回该项目作为结果。
现在,问题是这样的。
如果用户搜索返回 5 个结果的字符串。
然后用户决定他们要添加一个结果中的 3 个和另一个结果中的 2 个。
然后他们点击订单,提交表单。
这就是问题出现的地方,因为只有用户输入数量的第一个结果才会添加到订单中。
订单应包含两件商品,一件数量为 3,另一件数量为 2。它没有这样做,我不知道这里出了什么问题。
这里是控制用户点击订单按钮的实例的代码:
if (!isset($_SESSION['order']))
{
$_SESSION['order'] = array();
}
if (!isset($_SESSION['quantity']))
{
$_SESSION['quantity'] = array();
}
$productQuantities=$_POST['quantity'];
if (isset($_POST['action']) and $_POST['action'] == 'Order' and $productQuantities > 0)
{
foreach($productQuantities as $productId=>$quantityS)
{
if ($quantityS > 0)
{
$_SESSION['order']["$productId"] = $productId;
$_SESSION['quantity']["$productId"] = $quantityS;
header('Location: .');
exit();
}
}
}
谁能看出我在哪里犯了错误?
任何输入都将不胜感激,我将根据要求提供任何其他代码。
谢谢!
【问题讨论】:
-
$productQuantities > 0...这个变量是一个数组,为什么要和0比较?
标签: php html forms session input