如何检查是否已在PHP中单击了提交按钮

时间:2013-05-27 21:14:12

标签: php button submit click

我基本上有一个updatecart.php脚本,一旦点击HTML页面的提交按钮就将数据插入数据库表,然后转到display.php,显示更新的内容。我遇到的问题是我在显示的数据中有一个数量字段,如果用户点击提交按钮(将东西添加到购物车),那么我希望数量增加用户在下拉菜单中选择的数量在HTML页面中。现在,如果用户再次单击提交按钮,则不会发生任何事情,因为它是添加到数据库表中的相同数据。

代码:

HTML:

<form name = "AddToCart" action ="../updatecart.php" method='post'>
  Quantity:
  <select name="Quantity">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  </select> &nbsp;&nbsp;&nbsp;
  <input type ="submit" name ="Add" value="Add To Cart"/>
  </form>

updatecart.php:

<?php

// Connection to database omitted 

$Quantity = $_POST['Quantity'];

$query = "INSERT INTO Cart VALUES
('1', 'The Fiqh of Dawah', '18.00', 'Books', '$Quantity')";
mysql_query($query);

header("location:displaycart.php");

?>

Display.php的:

//Not necessary to show this as it simply uses `echo` to create a table and display the whole table data with `SELECT * FROM Cart`

3 个答案:

答案 0 :(得分:1)

首先执行SELECT,然后选择INSERT(如果购物车中此商品没有行)或{ {1}}(如果此商品已在购物车中)。

在MySql中,您也可以使用INSERT ... ON DUPLICATE KEY UPDATE Syntax来完成。但是你需要有一把主键才能这样做。

答案 1 :(得分:0)

您可以使用isset($_POST['Add'])检查提交的提交按钮

喜欢

if(isset($_POST['Add']))
{
$Quantity = $_POST['Quantity'];

$query = "INSERT INTO Cart VALUES
('1', 'The Fiqh of Dawah', '18.00', 'Books', '$Quantity')";
mysql_query($query);

header("location:displaycart.php");
}

答案 2 :(得分:0)

您可以检查顶部的updatecart.php,检查是否已点击提交。

这样的东西
isset($_POST['Add']) {
// insert data into DB
}
else {
// redirect somewhere as they havent clicked Submit button
}

在输入数据库之前,您还应该通过检查/清理来运行用户数据。