/    Sign up×
Community /Pin to ProfileBookmark

check database before updating cart

I have a shopping cart which allows users to add items to a cart but if the users then goes back to the product page and adds the item again it creates a new row with for the product in the database and then shows the item twice in the cart.

I need to get it to check the database first and if productID exists to just update and if not then to insert.

Just looking for guidance on whether i’m thinking this through right? how can i check for the productID?

this is the insert code:

[CODE]
$insertSQL = sprintf(“INSERT INTO tblCart (productID, productQuantity, cartGuid) VALUES (%s, %s, %s)”,
GetSQLValueString($_POST[‘productID’], “int”),
GetSQLValueString($_POST[‘productQuantity’], “int”),
GetSQLValueString($cartGuid, “text”));
[/CODE]

and this is kinda how i thought it might have to be:

[CODE]
if (productID = productID && cartGuid = cartGuid){
$insertSQL = sprintf(“UPDATE tblCart (productID, productQuantity, cartGuid) VALUES (%s, %s, %s)”,
GetSQLValueString($_POST[‘productID’], “int”),
GetSQLValueString($_POST[‘productQuantity’], “int”),
GetSQLValueString($cartGuid, “text”));
}else{
$insertSQL = sprintf(“INSERT INTO tblCart (productID, productQuantity, cartGuid) VALUES (%s, %s, %s)”,
GetSQLValueString($_POST[‘productID’], “int”),
GetSQLValueString($_POST[‘productQuantity’], “int”),
GetSQLValueString($cartGuid, “text”));

}
[/CODE]

any advice?

to post a comment
PHP

52 Comments(s)

Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — This is the full code for the product page if it helps with explanation.

[CODE]
<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;

case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$insertSQL = sprintf("INSERT INTO tblCart (productID, productQuantity, cartGuid) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['productID'], "int"),
GetSQLValueString($_POST['productQuantity'], "int"),
GetSQLValueString($cartGuid, "text"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());

$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>

[/CODE]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — my attempt:



$productAdded = $row_rsProduct['productID']

if (productAdded != null){

$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,

GetSQLValueString($quantity, "int"),

GetSQLValueString($cartID, "int"),

GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());

}else{

$updateSQL = sprintf("INSERT INTO tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,

GetSQLValueString($quantity, "int"),

GetSQLValueString($cartID, "int"),

GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());

}
[/QUOTE]


no luck ?
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — Do a SELECT first to determine if productID is present.

IF (Present)

Update

ELSE

Insert

ENDIF

You could change your primary key to (cartID, productID) and the whole thing could be changed to an INSERT with ON DUPLICATE KEY UPDATE..
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — Do a SELECT first to determine if productID is present.

IF (Present)

Update

ELSE

Insert

ENDIF

You could change your primary key to (cartID, productID) and the whole thing could be changed to an INSERT with ON DUPLICATE KEY UPDATE..[/QUOTE]


does this look along right lines?

[CODE]
$query = "SELECT productID FROM tblCart";
$result = mysql_query($query);

IF($result != null){
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}ENDIF

[/CODE]
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — [code=php]$query = "SELECT productID FROM tblCart WHERE cartID = '$cartID' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($query) == 1){
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — Hey NightShift, i returned the following error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:Apache2Webslearning_phpproduct.php on line 46

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cartID=NULL AND productID=NULL' at line 1[/QUOTE]


i inserted it straight after:

[CODE]if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}[/CODE]
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — The value of $cartID is NULL so it won't work.

In the code I posted yesterday, $cartID was being set properly. Where has it gone?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — that was a different page... cart.php

this is product.php

do i need to set cartid in here
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — Yes, you need to set: $quantity, $cartID and $productID in a similar way (from POST to reg. variable) as done in cart.php.
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — so just like this?

$quantity = productQuantity;

$product = productID;

$cartID = cartID;

getting vaiables from the form?
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — No, won't work...

Look at cart.php from yesterday...[code=php]$productID = $_POST['productID'];
$quantity = $_POST['quantity'];
$cartID = $_POST['cartID'];[/code]
and then use the sprintf() to build your SQL statement, properly escaped.
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — am i declaring the variables in wrong place?

[CODE]
<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;

case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];
$cartID = $_POST['cartID'];
$query = "SELECT productID FROM tblCart WHERE cartID = '$cartID' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($query) == 1){
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));

mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>

[/CODE]
Copy linkTweet thisAlerts:
@NightShift58Feb 08.2007 — Yes you are but you are performing the first SQL query before connecting to the database. Try:[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];
$cartID = $_POST['cartID'];

mysql_select_db($database_conn, $conn);

$query = "SELECT productID FROM tblCart WHERE cartID = '$cartID' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($query) == 1){
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartID = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 08.2007 — hey thanks for that but its now saying:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:Apache2Webslearning_phpproduct.php on line 51

Warning: Cannot modify header information - headers already sent by (output started at C:Apache2Webslearning_phpproduct.php:51) in C:Apache2Webslearning_phpproduct.php on line 70
Copy linkTweet thisAlerts:
@NightShift58Feb 09.2007 — My mistake...Sorry... Change:[code=php]IF(mysql_num_rows($query) == 1){ [/code]to:[code=php]IF(mysql_num_rows($result) == 1){ [/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 09.2007 — Hey Nightshift.

its still saying same error when i change that.

Sorry for keep posting problems!

Sean
Copy linkTweet thisAlerts:
@NightShift58Feb 09.2007 — Strange...

That can't really be the case. If the query didn't function at that leve, it would have die()ed in the previous line...

In case there's a misunderstanding, can you post the current script version?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 09.2007 — its going to the cart now, but not adding the item?

[CODE]
<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];
$cartID = $_POST['cartID'];

mysql_select_db($database_conn, $conn);

$query = "SELECT productID FROM tblCart WHERE cartID = '$cartID' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartID = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>
[/CODE]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — i tried adding hidden fields for product price etc but still no luck ?
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Can you add:[code=php]echo $query ."<br>";[/code]right before line 51 and tell me what it displays?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — SELECT productID FROM tblCart WHERE cartID = '' AND productID = '1' LIMIT 1

doesn't look like it is getting the cartID..
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Yes.

Is this the original code from DreamWeaver?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — yep.

its not the same page as the cart is on from the other day.
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Try this:[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartID = '$cartID' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — doesn't add anything now ?
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Error messages?
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — [code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = '" GetSQLValueString($cartGuid) . "' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — nope no error messages just goes to an empty cart page
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — [code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = '" . GetSQLValueString($cartGuid) . "' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — Warning: Missing argument 2 for GetSQLValueString(), called in C:Apache2Webslearning_phpproduct.php on line 47 and defined in C:Apache2Webslearning_phpproduct.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at C:Apache2Webslearning_phpproduct.php:4) in C:Apache2Webslearning_phpproduct.php on line 71
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Yes, my mistake...[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = '" . GetSQLValueString($cartGuid, "int") . "' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "int"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — hi, sorry still not adding to cart. blank cart
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Try this again...Can you add:[code=php]echo $query ."<br>";[/code]right before line xx and tell me what it displays?[/QUOTE]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — SELECT cartID FROM tblCart WHERE cartGuid = '0' AND productID = '3' LIMIT 1

Warning: Cannot modify header information - headers already sent by (output started at C:Apache2Webslearning_phpproduct.php:49) in C:Apache2Webslearning_phpproduct.php on line 71
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — There's a trap behind every door... Try this:[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = '" . GetSQLValueString($cartGuid, "text") . "' AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — SQL Error: SELECT cartID FROM tblCart WHERE cartGuid = ''c5c45a0292cbc49c01b9680de00830ab'' AND productID = '3' LIMIT 1

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'c5c45a0292cbc49c01b9680de00830ab'' AND productID = '3' LIMIT 1' at line 1
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — [code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['quantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — hey nightshift,

sorry about all this.

it goes to the cart now and adds one item, but it doesn't seem to be getting the quantity now.

is it just not posting it from the form?
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Yes, using the wrong POST name. Once more...[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['productQuantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — Hey yeh just tried that.

it now updates to new quantity but its not adding it to existing quantity.

does it need to look like this:

existingQuantity = SELECT productQuantity FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID'


UPDATE tblCart SET productQuantity=(%s + existingQuantity) WHERE cartID=%s AND productID=%s LIMIT 1
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — No news is good news?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — is post #41 along the right lines?
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — When you enter the quantity on the form, isn't that meant to replace the existing quantity.

What if you want fewer items? Or leave it the same?

Or is it meant to just add to the existing quantity?
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — yeh its meant to add to the existing quantity if item is already in cart.

sorry if i explained it wrong.
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — [code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['productQuantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID, productQuantity FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$quantity = $quantity + $r['productQuantity'];
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — ? Whoop thats working now! Many Thanks again!
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — If the cart has 5 items in it and the user enters -6, what happens? Or -5?

I changed this to delete the items from the cart if the quantity is 0 or less:[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['productQuantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID, productQuantity FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$quantity = $quantity + $r['productQuantity'];
if ($quantity <= 0) {
$updateSQL = sprintf("DELETE FROM tblCart WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
} else {
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}
}else{
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());


$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Use it if needed - and if it works...
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Same thing applies to inserting a quantity < 1....[code=php]<?php require_once('Connections/conn.php'); ?>
<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
if(isset($_SESSION['cartGuid']) && $_SESSION['cartGuid'] != '') {
$cartGuid = $_SESSION['cartGuid'];
} else {
$cartGuid = md5(uniqid(rand(), true));
$_SESSION['cartGuid'] = $cartGuid;
}

$productID = $_POST['productID'];
$quantity = $_POST['productQuantity'];

mysql_select_db($database_conn, $conn);

$query = "SELECT cartID, productQuantity FROM tblCart WHERE cartGuid = " . GetSQLValueString($cartGuid, "text") . " AND productID = '$productID' LIMIT 1";
$result = mysql_query($query) or die("SQL Error: $query<br>" . mysql_error());

IF(mysql_num_rows($result) == 1){
$r = mysql_fetch_array($result);
$cartID = $r['cartID'];
$quantity = $quantity + $r['productQuantity'];
if ($quantity <= 0) {
$updateSQL = sprintf("DELETE FROM tblCart WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
} else {
$updateSQL = sprintf("UPDATE tblCart SET productQuantity=%s WHERE cartID=%s AND productID=%s LIMIT 1" ,
GetSQLValueString($quantity, "int"),
GetSQLValueString($cartID, "int"),
GetSQLValueString($productID, "int"));
}
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}else{
if ($quantity > 0) {
$updateSQL = sprintf("INSERT INTO tblCart SET cartGuid = %s, productID = %s, productQuantity =%s ",
GetSQLValueString($cartGuid, "text"),
GetSQLValueString($productID, "int"),
GetSQLValueString($quantity, "int"));
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}
}

$insertGoTo = "cart.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

$colname_rsProduct = "-1";
if (isset($_GET['productID'])) {
$colname_rsProduct = (get_magic_quotes_gpc()) ? $_GET['productID'] : addslashes($_GET['productID']);
}
mysql_select_db($database_conn, $conn);
$query_rsProduct = sprintf("SELECT * FROM tblProducts WHERE productID = %s", $colname_rsProduct);
$rsProduct = mysql_query($query_rsProduct, $conn) or die(mysql_error());
$row_rsProduct = mysql_fetch_assoc($rsProduct);
$totalRows_rsProduct = mysql_num_rows($rsProduct);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Keyboard store: <?php echo $row_rsProduct['productName']; ?></title>
<link href="bunnies.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="mainContent">
<div class="productTitle">
<h1><?php echo $row_rsProduct['productName']; ?></h1>
</div>
<div class="productImage"><img src="<?php echo $row_rsProduct['productImage']; ?>" alt="<?php echo $row_rsProduct['productName']; ?>" height="<?php echo $row_rsProduct['productImageHeight']; ?>" width="<?php echo $row_rsProduct['productImageWidth']; ?>" class="detailimage" /></div>
<div class="productDesc">
<p><?php echo $row_rsProduct['productDesc']; ?></p>
</div>
<div class="productCode">
<p>Code: <?php echo $row_rsProduct['productCode']; ?> <br /></p>
</div>
<div class="productPrice">
<p>Price: <?php echo $row_rsProduct['productPrice']; ?></p>
</div>
<form name="form2" id="form1" method="POST" action="<?php echo $editFormAction; ?>">
<div class="quantity">
<input name="productID" type="hidden" id="productID" value="<?php echo $row_rsProduct['productID']; ?>" />
<label>Quantity
<input name="productQuantity" type="text" id="productQuantity" size="4" />
</label>
<input name="btnAdd" type="submit" id="btnAdd" value="Add to cart" />
<input type="hidden" name="MM_insert" value="form2">
</div>
</form>
<p>&nbsp;</p>
</div>
</body>
</html>
<?php
mysql_free_result($rsProduct);
?>[/code]
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — many thanks for that.

it works great, and have added it to the cart page too.

Thanks Again.

Sean
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Use the last post, #49...
Copy linkTweet thisAlerts:
@sean1983ukauthorFeb 10.2007 — yep all works fine! many thanks, i'll buy you a drink one day
Copy linkTweet thisAlerts:
@NightShift58Feb 10.2007 — Ok, take care...
×

Success!

Help @sean1983uk spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...