添加到购物车按钮,php 购物脚本
Posted
技术标签:
【中文标题】添加到购物车按钮,php 购物脚本【英文标题】:add to cart button, php shopping script 【发布时间】:2014-03-29 17:41:26 【问题描述】:我创建了一个 DVD 数据库,脚本可以正常读取和运行。
我很难为下一步做什么。
当用户按下 dvd 标题的复选框以及“添加到购物车”按钮时,我希望脚本将用户重定向到 handlebasket.php 并添加勾选的 dvd
任何帮助将不胜感激
<?php
session_start();
?>
<?php
include 'header2.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Home</title>
<link rel="stylesheet" type="text/css" href="css/login.css">
<link rel="stylesheet" type="text/css" href="css/default.css">
</head>
<body>
<?php
session_start();
$rec_limit = 10;
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
die('Could not connect: ' . mysql_error());
mysql_select_db('db');
/* Get total number of records */
$sql = "SELECT count(ID) FROM Dvd_List";
$retval = mysql_query($sql, $conn);
if (!$retval)
die('Could not get data: ' . mysql_error());
$row = mysql_fetch_array($retval, MYSQL_NUM);
$rec_count = $row[0];
if (isset($_GET'page'))
$page = $_GET'page' + 1;
$offset = $rec_limit * $page;
else
$page = 0;
$offset = 0;
$left_rec = $rec_count - ($page * $rec_limit);
?>
<form action='loginhandler.php' method='post'>
<input type="checkbox" name="year" value="BETWEEN 2010 AND 2014">2010 and Later
<input type="checkbox" name="year" value="BETWEEN 2000 AND 2009">2000 - 2009
<input type="checkbox" name="year" value="BETWEEN 1990 AND 1999">1990 - 1999
<?php
$sql = "SELECT * FROM Dvd_List";
if (isset($_POST['year']))
$_SESSION['year'] = $_POST['year'] ;
else
if(!isset($_GET['page']))
$_SESSION['year'] = "";
//$sql = $sql." AND DVD_Title LIKE '%%'"
// $sql = "SELECT *" . "FROM Dvd_List " . "LIMIT $offset, $rec_limit";
if(isset($_SESSION['year']))
$sql = $sql." WHERE Year ".$_POST['year']. " LIMIT $offset, $rec_limit";
else
$sql = "SELECT *" . "FROM Dvd_List " . "LIMIT $offset, $rec_limit";
$retval = mysql_query($sql, $conn);
if (!$retval)
die('Could not get data: ' . mysql_error());
?>
<input type="submit" name="submit" value="GO!">
</form>
<form action='handlebasket.php' method='post' accept-charset='UTF-8'><?php
print "<table border='1'>
<th></th>
<th>Title</th>
<th>Price</th>
<th>Year</th>
";
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC))
print "<tr><td><input type=\"checkbox\" name=\"" . $row['ID'] . "\"/></td> <td>$row['DVD_Title']</td>
<td>$row['Price']</td><td>$row['Year']</td></tr><br>";
if ($page > 0)
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
else if ($page == 0)
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
else if ($left_rec < $rec_limit)
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";
mysql_close($conn);
?>
<input type="submit" name="submit" value="Add to cart">
</form>
</body>
</html>
【问题讨论】:
【参考方案1】:我建议为复选框使用一个名称,这会创建一个数组:
print "<input type=\"checkbox\" name=\"addToCart[]\" value=\"" . $row['ID'] . "\"/>"
这样,您可以像$_POST["addToCart"]
一样以类似数组的方式访问handlebasket.php
中勾选的DVD 的ID,以便您可以对其进行迭代。
请注意,如果用户没有选中任何框,则可能不会设置参数,即$_POST
没有密钥"addToCart"
。
【讨论】:
以上是关于添加到购物车按钮,php 购物脚本的主要内容,如果未能解决你的问题,请参考以下文章
php 在WooCommerce中创建直接购物车/结帐/页面添加到购物车按钮。
php Woocommerce:更改“添加到购物车”按钮文本