Nieuw lid |
|
Hallo,
Ik ben al een aantal weken aan het kloten met een tutorial over een webshop van internet. Heb nu alles zover dat het goed werkt alleen ik wil een extra optie toevoegen waar de klant zijn Maat kan kiezen. Ik heb nog weinig verstand van sessions en kom er niet meer uit. Hier de Shop pagina:
<?PHP include ('config.php') ?>
<?php
$sql = "SELECT * FROM product ORDER BY id DESC";
$query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__);
$num = mysql_num_rows($query);
echo "<table width=\"500\" height=\"320\" border=\"1\">";
$teller = 0;
if(empty($num)) {
echo "<p>Momenteel zijn er geen producten</p>\n";
} else {
// HIER PRODUCT TONEN ...
while($product = mysql_fetch_object($query)) {
if ($teller == 0)
{
echo "<TABLE border=0>";
echo "<TR>";
}
echo "<form action=\"add.php\" method=\"post\">\n";
$opdracht = "SELECT * FROM foto WHERE foto_id = $product->id";
$result = mysql_query($opdracht);
while ($afb = mysql_fetch_array($result))
echo "<td width=\"206\" rowspan=\"2\" valign=\"top\"><a href='/database/$afb[fotonaam]'><img src='/database/$afb[fotonaam]' width=200 heigth=200></td></a>";
echo "<input type=\"hidden\" name=\"productnummer\" value=\"".$product->productnummer."\" />";
echo "<td width=\"300\" height=\"198\" valign=\"top\" style=\"font-size:11px; font-family:Arial, Helvetica, sans-serif; color:#FD0071; font-weight:bold;\"/><p>$product->omschrijving<br></p>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"top\" style=\"font-size:14px; font-family:Arial, Helvetica, sans-serif; background-color:transparent; border:none; color:#FD0071; font-weight:bold;\"/>Per stuk: $product->prijs</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"top\"><h1>Maat: <select name = \"maat\" id = \"maat\" style=\"font-size:10px; font-weight:bold; background-color:transparent; color:333333;\">
<option value=\"S\">S</option>
<option value=\"M\">M</option>
<option value=\"L\">L</option>
<option value=\"XL\">XL</option>
</select></td></h1>\n";
echo "</tr>";
echo "<tr>";
echo "<td align=\"top\"><h1>Aantal:<select name = \"hoeveelheid\" id = \"hoeveelheid\" style=\"font-size:10px; font-weight:bold; background-color:transparent; color:333333;\">
<option value=\"1\">1</option>
<option value=\"2\">2</option>
<option value=\"3\">3</option>
<option value=\"4\">4</option>
<option value=\"5\">5</option>
<option value=\"6\">6</option>
<option value=\"7\">7</option>
<option value=\"8\">8</option>
</select></td></h1>\n";
echo "<td><input type=\"submit\" name=\"submit\" value=\"BESTELLEN →\" style=\"font-size:14px; font-family:Arial, Helvetica, sans-serif; background-color:transparent; border:none; cursor:pointer; color:#FD0071; font-weight:bold;\"/></td>\n";
echo "</form><td>\n";
$teller++;
if ($teller ==2) {
echo "</TR>";
$teller = 0;
}
}
echo ("</TABLE>");
}
?>
<?PHP include ('config.php') ?> <?php $sql = "SELECT * FROM product ORDER BY id DESC"; echo "<table width=\"500\" height=\"320\" border=\"1\">"; $teller = 0; echo "<p>Momenteel zijn er geen producten</p>\n"; } else { // HIER PRODUCT TONEN ... if ($teller == 0) { } echo "<form action=\"add.php\" method=\"post\">\n"; $opdracht = "SELECT * FROM foto WHERE foto_id = $product->id"; echo "<td width=\"206\" rowspan=\"2\" valign=\"top\"><a href='/database/$afb[fotonaam]'><img src='/database/$afb[fotonaam]' width=200 heigth=200></td></a>"; echo "<input type=\"hidden\" name=\"productnummer\" value=\"".$product->productnummer."\" />"; echo "<td width=\"300\" height=\"198\" valign=\"top\" style=\"font-size:11px; font-family:Arial, Helvetica, sans-serif; color:#FD0071; font-weight:bold;\"/><p>$product->omschrijving<br></p>"; echo "<td align=\"top\" style=\"font-size:14px; font-family:Arial, Helvetica, sans-serif; background-color:transparent; border:none; color:#FD0071; font-weight:bold;\"/>Per stuk: $product->prijs</td>"; echo "<td align=\"top\"><h1>Maat: <select name = \"maat\" id = \"maat\" style=\"font-size:10px; font-weight:bold; background-color:transparent; color:333333;\"> <option value=\"S\">S</option> <option value=\"M\">M</option> <option value=\"L\">L</option> <option value=\"XL\">XL</option> </select></td></h1>\n"; echo "<td align=\"top\"><h1>Aantal:<select name = \"hoeveelheid\" id = \"hoeveelheid\" style=\"font-size:10px; font-weight:bold; background-color:transparent; color:333333;\"> <option value=\"1\">1</option> <option value=\"2\">2</option> <option value=\"3\">3</option> <option value=\"4\">4</option> <option value=\"5\">5</option> <option value=\"6\">6</option> <option value=\"7\">7</option> <option value=\"8\">8</option> </select></td></h1>\n"; echo "<td><input type=\"submit\" name=\"submit\" value=\"BESTELLEN →\" style=\"font-size:14px; font-family:Arial, Helvetica, sans-serif; background-color:transparent; border:none; cursor:pointer; color:#FD0071; font-weight:bold;\"/></td>\n"; $teller++; if ($teller ==2) { $teller = 0; } } } ?>
Dit wordt verstuurd nar de volgende pagina 'add.php':
<?php
session_start();
if(is_numeric($_POST['productnummer'])) $productnummer = $_POST['productnummer'];
else exit("Er zit een fout in de productcode.");
if(is_numeric($_POST['hoeveelheid'])) $hoeveelheid = $_POST['hoeveelheid'];
else exit("Er iets fout gegaan met de hoeveelheid.");
$maat = $_POST['maat'];
if ($hoeveelheid == 0) {
echo "<p>0 bestellen is niet mogelijk</p>\n";
echo "<p><a href=\"javascript:history.back()\">Vorige pagina</a></p>\n";
exit();
}
if (empty($_SESSION['cart'])){
$_SESSION['cart'] = $productnummer.",".$hoeveelheid.",".$maat;
} else {
$cart = explode("|",$_SESSION['cart']);
$count = count($cart);
$add = TRUE;
foreach($cart as $products)
{
// Exploden
/*
$product[x] -->
x == 0 -> productnummer
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
if ($product[0] == $productnummer) {
// Product al in de winkelwagen
$product[1] = $product[1] + $hoeveelheid; // Nieuwe hoeveelheid is oude + nieuwe
$add = FALSE; // Dus niet toevoegen
}
// En weer in de sessie zetten
$i++;
if ($i == 1) {
$_SESSION['cart'] = $product[0].",".$product[1];
} else {
$_SESSION['cart'] = $_SESSION['cart']."|".$product[0].",".$product[1];
}
}
if ($add) { // Als we dus wel moeten toevoegen
$_SESSION['cart'] = $_SESSION['cart']."|".$productnummer.",".$hoeveelheid.",".$maat;
}
}
// forward to cart
header("Location: cart.php");
?>
<?php if(is_numeric($_POST['productnummer'])) $productnummer = $_POST['productnummer']; else exit("Er zit een fout in de productcode."); if(is_numeric($_POST['hoeveelheid'])) $hoeveelheid = $_POST['hoeveelheid']; else exit("Er iets fout gegaan met de hoeveelheid."); $maat = $_POST['maat']; if ($hoeveelheid == 0) { echo "<p>0 bestellen is niet mogelijk</p>\n"; echo "<p><a href=\"javascript:history.back()\">Vorige pagina</a></p>\n"; } if (empty($_SESSION['cart'])){ $_SESSION['cart'] = $productnummer.",".$hoeveelheid.",".$maat; } else { $cart = explode("|",$_SESSION['cart']); $add = TRUE; foreach($cart as $products) { // Exploden /* $product[x] --> x == 0 -> productnummer x == 1 -> hoeveelheid */ if ($product[0] == $productnummer) { // Product al in de winkelwagen $product[1] = $product[1] + $hoeveelheid; // Nieuwe hoeveelheid is oude + nieuwe $add = FALSE; // Dus niet toevoegen } // En weer in de sessie zetten $i++; if ($i == 1) { $_SESSION['cart'] = $product[0].",".$product[1]; } else { $_SESSION['cart'] = $_SESSION['cart']."|".$product[0].",".$product[1]; } } if ($add) { // Als we dus wel moeten toevoegen $_SESSION['cart'] = $_SESSION['cart']."|".$productnummer.",".$hoeveelheid.",".$maat; } } // forward to cart ?>
Hopelijk zien jullie sneller, wat ik fout doe.
Alvast bedankt
|