Good Morning,
Ik heb een vraag met betrekking tot een winkelwagen systeem. Ik heb al veel geprobeerd met sessies, maar ik krijg het niet aan de praat.
Het is de bedoeling dat de klant op de pagina "cart.php" op afrekenen kan klikken en dat de klant wordt doorgestuurd naar afrekeken.php. Vervolgens moet de klant daar een aantal gegevens van zichzelf invullen en kan het op "bestellen" klikken. Op dat moment moeten de gegevens van de klant (wat al lukt) en de productnaam, hoeveelheid en prijs naar de database gestuurd worden.
Hieronder heb ik beide scripts geplaatst en ik hoop dat iemand mij hiermee kan helpen.
Bijvoorbaad dank!
CART.PHP
AFREKEN.PHP
Ik heb een vraag met betrekking tot een winkelwagen systeem. Ik heb al veel geprobeerd met sessies, maar ik krijg het niet aan de praat.
Het is de bedoeling dat de klant op de pagina "cart.php" op afrekenen kan klikken en dat de klant wordt doorgestuurd naar afrekeken.php. Vervolgens moet de klant daar een aantal gegevens van zichzelf invullen en kan het op "bestellen" klikken. Op dat moment moeten de gegevens van de klant (wat al lukt) en de productnaam, hoeveelheid en prijs naar de database gestuurd worden.
Hieronder heb ik beide scripts geplaatst en ik hoop dat iemand mij hiermee kan helpen.
Bijvoorbaad dank!
CART.PHP
PHP:
<?php
include ("includes/connect.php");
if(isset($_POST['submit'])){
foreach($_POST as $key => $value){
$key = explode("-",$key);
$key = end($key);
$key = explode("submit",$key);
$key = end($key);
if(isset($_POST['quantity-'.$key]) <= 0){
unset($_SESSION['cart'][$key]);
} else if($_POST['quantity-'.$key] >= 50){
$_SESSION['cart'][$key]['quantity'] = 50;
} else {
$_SESSION['cart'][$key]['quantity'] = $value;
}
}
} error_reporting(0);
?>
<h1>Bekijk winkelwagen</h1>
<a href="beveiligdepagina.php?page=products">Ga terug naar de producten pagina.</a><br />
<?php $sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
if(empty($query)){
echo "Je moet een product toevoegen om toegang te krijgen op deze pagina.<br /><br />";
}
?>
<form method="post" action="#">
<fieldset>
<table>
<tr>
<th>Naam</th>
<th>Hoeveelheid</th>
<th>Prijs per product</th>
<th>Totaal prijs</th>
</tr>
<?php
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
?>
<tr>
<td><?php echo $row['naam'];?></td>
<td><input type="text" name="quantity-<?php echo $row['id_product'];?>" size="5" value="<?php echo $_SESSION['cart'][$row['id_product']]['quantity'];?>" style="width: 30px; height: 18px; margin-left: 17px;"/></td>
<td><?php echo "€" . $row['prijs'];?></td>
<td><?php echo"€" . $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];?></td>
</tr>
<?php
} }
?>
<tr>
<td></td>
<td></td>
<td>Totaal prijs:</td>
<td><?php echo"€" . $total_price;?></td>
</tr>
</table>
<br />
<input type="submit" name="submit" value="Update winkelwagen"/></fieldset>
</form><br />
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/></fieldset>
</form><br />
<p>Om een product te verwijderen, dient u de hoeveelheid op <strong>0</strong> te zetten.</p>
AFREKEN.PHP
PHP:
<?php
include "includes/connect.php";
?>
<?php
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
?>
Wanneer u <b> <?php echo $_SESSION['cart'][$row['id_product']]['quantity'];?> <?php echo $row['naam'];?></b></td>
t.w.v. <?php echo "€" . $row['prijs'];?>echo "wilt kopen, dient u de volgende velden correct in te vullen.
<?php
} }
?>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
if(isset($_SESSION['cart'])) {
$cart = $_SESSION['cart'];
}
$aFouten = array();
if($_POST['klantnaam'] == '')
{
$aFouten[] = ' - Je hebt geen naam ingevuld!';
}
if($_POST['achternaam'] == '')
{
$aFouten[] = ' - Je hebt geen achternaam ingevuld!';
}
if(count($aFouten) != 0)
{
echo 'De volgende fouten zijn opgetreden: <br /><br /><font color="#FF0000">';
for($Fi = 0; $Fi < count($aFouten); $Fi++)
{
echo $aFouten[$Fi].'<br />';
}
echo '</font><br /><a href="javascript:history.go(-1);">Ga terug om het opnieuw te proberen!</a>';
}else{
mysql_query("INSERT INTO bestellingen (klantnaam,achternaam,cart) VALUES ('".mysql_real_escape_string($_POST['klantnaam'])."','".mysql_real_escape_string($_POST['achternaam'])."','".mysql_real_escape_string(isset($_POST['cart']))."')") or die (mysql_error());
echo 'Uw bestelling is succesvol verzonden. Wij zullen uw inzending zo snel mogelijk in behandeling nemen.';
}
}
else
{
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
*Naam:<br />
<input name="klantnaam" style="width: 250px; border: 1px solid gray"><br />
*Achternaam:<br />
<input name="achternaam" style="width: 250px; border: 1px solid gray"><br /><br />
<input type="submit" value="Verzend" name="submit" class="menubutton">
</form>
<?php
}
?>