我正在创建一个带购物车的网站,我管理后连续添加项目到篮子,但我希望项目中的篮子同时插入我的数据库中的订单表,但每次刷新页面都有效或者在不同的页面上移动,不断插入当前在晒太阳内的相同物品。
我允许用户从篮子中删除项目,但我希望在我的数据库表中也能发生相同的事情。
这是我的代码,请分析并指出解决方案THX。
cart.php:
if (isset($_GET['add'])){
$quantity = mysql_query('SELECT product_id, product_qua FROM products WHERE product_id='.$_GET['add']);
while($quantity_row = mysql_fetch_assoc($quantity)){
if($quantity_row['product_qua'] !=$_SESSION['cart_'.$_GET['add']]){
$_SESSION['cart_'.$_GET['add']]+='1';
}
}
}
if (isset($_GET['add'])){
$qq = mysql_query('SELECT * FROM users');
while($user_rows = mysql_fetch_assoc($qq)){
$grr = $_SESSION['username'];
if($user_rows['username'] == $grr){
$z = $user_rows['first_name'];
$zz = $user_rows['last_name'];
}
}
$q = mysql_query('SELECT product_name, product_qua, product_price from products WHERE product_id='.$_GET['add']);
while($prod_rows = mysql_fetch_assoc($q)){
$x = $prod_rows['product_name'];
$xx = $prod_rows['product_price'];
$xxx = $prod_rows['product_qua'];
$order = "INSERT INTO orders (order_user_first_name, order_user_last_name, order_product_name, order_product_price, order_product_quantity ) VALUES ('$z','$zz','$x','$xx','$xxx')";
mysql_query($order);
}
}
if(isset($_GET['remove'])){
$_SESSION['cart_'.$_GET['remove']]--;
}
上面的代码不是文件中的所有代码,而是负责我要实现的内容的部分
问候
答案 0 :(得分:2)
听起来您在URL中传递变量,当您浏览网站时,这些变量将继续传递。也许您应该在添加项目后执行重定向,因此它不会维护变量?
答案 1 :(得分:1)
这就是事情,你的代码完全按照你的要求去做。您正在使用 $ _ GET ,而是将数据发布到数据库中。
我使用 $ _ GET 的方式是我需要选择数据或从服务器检索数据。当我需要将数据发布到服务器时,我使用 $ _ POST 。
解决您的问题的方法是使用一个脚本将POST数据输入,然后重定向,以避免重新插入表格。
答案 2 :(得分:0)
你应该试试$ _POST而不是$ _GET吗?
答案 3 :(得分:-1)
使用$_GET
代替$_POST
。
解决您的问题的方法是使用一个脚本将POST数据输入,然后重定向,以避免重新插入表格。