Jump to content

Recommended Posts

I am building a shopping cart from ground up and I am having a problem with the products being reentered into the DB.  I need help trying to stop it from being entered twice when refreshed.

 

<?xml version="1.0" encoding="UTF-8"?>
<!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>
  <title>Tickle Creek Candles</title>
  <meta http-equiv="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)" />
  <meta name="created" content="Tue, 22 Jun 2010 22:09:16 GMT" />
  <meta name="description" content="" />
  <meta name="keywords" content="" />
  <style type="text/css">
  <!--
    /* Don't underline links */
    a:link {text-decoration: none;}
    a:visited {text-decoration: none;}
  -->
  </style>
  
  <script type="text/javascript" src="jquery.min.js"></script>

<script type="text/javascript" src="ddaccordion.js">

/***********************************************
* Accordion Content script- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
***********************************************/

</script>


<script type="text/javascript">


ddaccordion.init({
headerclass: "expandable", //Shared CSS class name of headers group that are expandable
contentclass: "categoryitems", //Shared CSS class name of contents group
revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: true, //Collapse previous content (so only one open at any time)? true/false 
defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: true, //persist state of opened contents within browser session?
toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
	//do nothing
},
onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
	//do nothing
}
})


</script>

<style type="text/css">

.arrowlistmenu{
width: 100%; /*width of accordion menu*/
}

.arrowlistmenu .menuheader{ /*CSS class for menu headers in general (expanding or not!)*/
font: bold 14px Arial;
color: White;
background: black url(Graphics/titlebar.png) repeat-x center left;
margin-bottom: 10px; /*bottom spacing between header and rest of content*/
text-transform: uppercase;
padding: 4px 0 4px 10px; /*header text is indented 10px*/
cursor: hand;
cursor: pointer;
}

.arrowlistmenu .openheader{ /*CSS class to apply to expandable header when it's expanded*/
background-image: url(Graphics/titlebar-active.png);
}

.arrowlistmenu ul{ /*CSS for UL of each sub menu*/
list-style-type: none;
margin: 0;
padding: 0;
margin-bottom: 8px; /*bottom spacing between each UL and rest of content*/
}

.arrowlistmenu ul li{
padding-bottom: 2px; /*bottom spacing between menu items*/
}

.arrowlistmenu ul li a{
color: #FFFFFF;
display: block;
padding: 2px 0;
padding-left: 19px; /*link text is indented 19px*/
text-decoration: none;
font-weight: bold;
border-bottom: 0px solid #dadada;
font-size: 100%;
}

.arrowlistmenu ul li a:visited{
color: #FFFFFF;
}

.arrowlistmenu ul li a:hover{ /*hover state CSS*/
color: #FF0000;
background-color: #400000;
}

</style>

<?php

session_start();

?>
  
</head>
<body bgcolor="#FFFFFF" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FF0000" background="Graphics/wood018.jpg">
<div id="1" style="height:23%;width:15%;position:absolute;top:0%;left:10%;background-color:#400000;border-left:solid;">
<img src="Graphics/Logo.jpg" width="100%" height="100%" alt="" title="" border="0" align="" />
</div>
<div id="2" style="height:12%;width:65%;position:absolute;top:0%;left:25%;background-color:#400000;text-indent:2%;border-right:solid;border-left:solid;">
<font size="7" face="AR ESSENCE"><b><u>Tickle Creek Candles</u></b></font>
</div>
<div id="3" style="height:6%;width:65%;position:absolute;top:12%;left:25%;background-color:#400000;text-indent:2%;border-right:solid;border-left:solid;">
<font size="5" face="AR ESSENCE"><b>Hand Made Candles</b></font>
</div>
<div id="4" style="min-height:77%;width:15%;position:absolute;top:23%;left:10%;background-color:#400000;text-indent:2%;border-left:solid;">
<font size="6" face="AR ESSENCE"><u><b><center>Contents</center></b></u></font>
<div class="arrowlistmenu">

<h3 class="menuheader" style="cursor: default"><a href="Index.php">Home</a></h3>

<h3 class="menuheader expandable">Products</h3>
<ul class="categoryitems">
<li><a href="Pies.php">PIES</a></li>
<li><a href="Bakery.php">BAKERY GOODS</a></li>
<li><a href="Containers.php">CONTAINERS</a></li>
<li><a href="Melts.php">MELTS</a></li>
<li><a href="Warmers.php">WARMERS</a></li>
</ul>

<h3 class="menuheader" style="cursor: default"><a href="About.php">About Us</a></h3>

<h3 class="menuheader" style="cursor: default"><a href="Contact.php">Contact Us</a></h3>
</div>

</div>
<div id="5" style="min-height:82%;width:65%;position:absolute;top:18%;left:25%;background-color:#400000;border-right:solid;border-left:solid;border-top:solid;">
<br />
<font size="6" face="AR ESSENCE">
  <b>Shopping Cart</b>
</font>
<br /><br />
<?php

$_SESSION['Identifier'] = session_id();
$Identifier = $_SESSION['Identifier'];

$ID = $_POST['ID'];
$cat = $_POST['cat'];
$Code = $_POST['Price'];

include("database.php");

mysql_select_db("tc", $con);

$result = mysql_query("SELECT * FROM Pricing WHERE Code='$Code'");

while($row = mysql_fetch_array($result))
{

$Price = $row[2];

}

$result = mysql_query("SELECT * FROM Products WHERE ID='$ID'");

while($row = mysql_fetch_array($result))
{

$SKU = $row[0];
$Name = $row[1];
$QDesc = $row[2];
$Desc = $row[3];
$Price = $row[4];
$Cat = $row[5];
$Cost = $row[6];
$Qty = $row[7];
$Pic = $row[8];
$Opt1 = $row[9];
$Opt2= $row[10];
$Opt3 = $row[11];

}

$result = mysql_query("SELECT * FROM shopping_cart WHERE Identifier='$Identifier'");

while($row = mysql_fetch_array($result))
{

If((isset($SKU2)) == FALSE)
{

$SKU2 = $row[3];

}
ELSE
{

}
}

IF($SKU2 == $SKU)
{

}
Else
{

include("database.php");

mysql_select_db("tc", $con);
  
  $sql = "INSERT INTO shopping_cart (Identifier) VALUES ('$Identifier')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
  
  $sql = "UPDATE shopping_cart SET Product='$Name', SKU='$SKU', Quantity='1', Price='$Price', PicAddress='$Pic' 
  WHERE Identifier='$Identifier' AND Product=''";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

}

print "<table border='0' width='95%' align='center'>";
  
print "<tr><!-- Row 1 -->
     <td width='10%'><b><u>DELETE</u></b></td><!-- Col 1 -->
     <td width='45%' colspan='2'><b><u>PRODUCT</u></b></td><!-- Col 2 -->
     <td width='15%'><b><u>QUANTITY</u></b></td><!-- Col 4 -->
     <td width='15%' align='right'><b><u>PRICE</u></b></td><!-- Col 5 -->
     <td width='15%' align='right'><b><u>TOTAL</u></b></td><!-- Col 6 -->
  </tr>";

include("database.php");

mysql_select_db("tc", $con);

$result = mysql_query("SELECT * FROM shopping_cart WHERE Identifier= '$Identifier'");

while($row = mysql_fetch_array($result))
{

echo "<tr><!-- Row 2 -->
     <td width='10%' valign='middle'><center><input type='checkbox' name='Delete' value='$row[0]'></center></td><!-- Col 1 -->
     <td width='15%'><img src='$row[10]' width='100%' height='100%' alt='' border='1'></td><!-- Col 2 -->
     <td width='30%' valign='top'>$row[2]</td><!-- Col 3 -->
     <td width='15%' valign='top'><input type='text' name='Quantity' value='$row[4]' size='10' style='background-color:#400000;border:none;color:#FFFFFF;text-align:right;'></td><!-- Col 4 -->
     <td width='15%' valign='top' align='right'><input type='text' name='Price' value='$$row[5]' size='10' style='background-color:#400000;border:none;color:#FFFFFF;text-align:right;'></td><!-- Col 5 -->
     <td width='15%' valign='top' align='right'><b>";

  $sub = $row[4] * $row[5];

echo "$$sub</b></td><!-- Col 6 -->
  </tr>";
  
}

print "<tr><!-- Row 3 -->
     <td width='85%' colspan='5' align='right' style='border-top:solid;'><b>SUB TOTAL</b></td><!-- Col 1 -->
     <td width='15%' align='right' style='border-top:solid;'><b>$</b>";

echo "</td><!-- Col 6 -->
  </tr>
  <tr><!-- Row 4 -->
     <td width='85%' colspan='5' align='right'><b>TAXES</b></td><!-- Col 1 -->
     <td width='15%' align='right'><b></b></td><!-- Col 6 -->
  </tr>
  <tr><!-- Row 5 -->
     <td width='85%' colspan='5' align='right'><b>SHIPPING</b></td><!-- Col 1 -->
     <td width='15%' align='right'><b>$</b></td><!-- Col 6 -->
  </tr>
  <tr><!-- Row 6 -->
     <td width='85%' colspan='5' align='right'><b>GRAND TOTAL</b></td><!-- Col 1 -->
     <td width='15%' align='right'><b>$</b></td><!-- Col 6 -->
  </tr>
  <tr><!-- Row 6 -->
     <td width='70%' colspan='4' align='right'><br /><input type='submit' name='submit' value='UPDATE SHOPPING CART'></td><!-- Col 1 -->
     <td width='30%' colspan='2' align='right'><br /><input type='submit' name='submit' value='CONTINUE PURCHASE'></td><!-- Col 6 -->
  </tr>
</table>";

?>




</div>
</body>
</html>


Link to comment
https://forums.phpfreaks.com/topic/206846-trouble-with-replication-on-reload/
Share on other sites

I do the following to stop duplicate serialnumbers being entered into my database

 

// duplicate entry

    $sql="SELECT * FROM products WHERE SERIALNO='$SERIALNO'";
    $mysql_result=mysql_query($sql) or die(mysql_error());
    $num_rows=mysql_num_rows($mysql_result);
    if ( $num_rows == 0) {
    echo "<br>";
    echo "No Duplicates Found";

$query = ("INSERT INTO `products` (`SERIALNO`, `IMEI`, `CANSERIAL`, `DESCRIPTION`, `SHIPDATE`, `CANTYPE`, `COMPANY_id`, `BUILDTYPE`, `MACADDRESS`, `BOARD_REV`, `BOARDTYPE`, `COMMENTS`, `ADVICENOTE` ,`BOXPRODUCT_id`,`CANFIRMWARE`,`ROHS`,`BOARDFIRM`,`MSC_id`,`PLDPROG`,`BOOTPROG`,`FRTYPE`) VALUES ('$SERIALNO','$IMEI','$CANSERIAL', '$DESCRIPTION', '$SHIPDATE','$CANTYPE','$COMPANY_id','$BUILDTYPE','$MACADDRESS' ,'$BOARD_REV' ,'$BOARDTYPE' ,'$COMMENTS' ,'$ADVICENOTE' ,'$BOXPRODUCT_id','$CANFIRMWARE','$ROHS','$BOARDFIRM','$MSC_id','$PLDPROG','$BOOTPROG','$FRTYPE')");

    $result = mysql_query($query) or die ("<br>Error in query: ".mysql_error());

}
else
{
echo "<script type=\"text/javascript\">alert('Entry Not entered into database the Serial No. Already exists in the database.')</script>";
}

 

I hope it helps

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.