我希望有人可以帮我解决一些麻烦。目前我正在尝试建立一个简单的网上商店。首先是一些信息:
我有2种产品,产品a和产品b。这两款产品有18种颜色和3种尺寸可供选择。当您想购买产品a时,只需转到产品a的页面,选择颜色和尺寸,然后将其添加到购物篮中。
我遇到的问题是我无法在会话中存储颜色和大小。现在我将产品的ID和数量存储在这样的会话中:
if (isset($_GET['add'])) {
$_SESSION['cart_'.(int)$_GET['add']]+='1';
}
会话的结果是:cart_1 1.这意味着ID为1,1的产品已添加到购物篮中。但我想做的是我的会话也可以告诉我提交了哪种颜色和尺寸。 ($ _POST ['color']和$ _POST ['size']。问题是当我像这样存储它时,我只能订购1个产品a和1个产品b,因为每当我想添加另一个产品a cart_1中的1将与具有不同颜色的产品相同。
提前致谢!
答案 0 :(得分:1)
假设您以正确的形式包装了所有选项,那么您可以为每个输入提供一个id。
一旦您处理了处理表单的当前页面,您就可以通过引用它们来轻松访问输入。
示例:
<form id="mainForm" method="POST" action="scriptUrl.php">
<input type="text" id="color" value="" />
<input type="text" id="size" value="" />
<input type="submit" id="submitFormButton" value="Submit" />
</form>
然后您可以轻松地访问这些值(一旦提交表单):
$color = isset($_GET['color']) ? $_GET['color'] : "";
$size = isset($_GET['size']) ? $_GET['size'] : "";
如果您愿意,可以将其添加到您的会话中,但最好只为单个值设置一个会话。也就是说,如果你觉得你真的必须使用会话;还有其他选择,有时更合适。
我知道您没有使用输入文本,但您可以轻松修改您的示例。
人们之间是否使用GET或POST,我更喜欢POST。