PHP winkelwagen probleem

Pagina: 1
Acties:
  • 195 views

Acties:
  • 0 Henk 'm!

  • 3wielerdealer
  • Registratie: Oktober 2009
  • Laatst online: 01-01 12:22
Beste allemaal,

Ik ben al een tijdje aan het prutsen met een winkelwagen waarin je verschillende producten kunt plaatsen.
Het probleem wat ik nu heb is, ik kan 2 producten in m'n winkelwagen plaatsen maar zodra ik een derde toevoeg, verdwijnt het eerst toegevoegde product en hiervoor in de plaats komt mijn net toegevoegde product(wat m'n derde product in de lijst zou moeten worden).
De functie waar het product word toegevoegd staat hieronder.

function toevoegen()
{
$productid = $_POST['productid'];
$hoeveelheid = $_POST['hoeveelheid'];


if ($hoeveelheid == 0) {
echo "<p>U heeft niks besteld</p>\n";
echo "<p><a href=\"javascript:history.back()\">Terug</a></p>\n";
exit();
}

if (empty($_SESSION['cart'])){
$_SESSION['cart'] = $productid.",".$hoeveelheid;
}

else {
$cart = explode("|",$_SESSION['cart']);

$count = count($cart);

$add = TRUE;
foreach($cart as $producten){
$product = explode(",",$producten);
if ($product[0] == $productid) {
$product[1] = $product[1] + $hoeveelheid;
$add = FALSE;
}
$i="";
$i++;
if ($i == 1) {
$_SESSION['cart'] = $product[0].",".$product[1];
}
else {
$_SESSION['cart'] = $_SESSION['cart']."|".$product[0].",".$product[1];
}
}

if ($add) {
$_SESSION['cart'] = $_SESSION['cart']."|".$productid.",".$hoeveelheid;
}
}
header("Location: index.php?action=winkelwagen");
}

Mocht je het hele bestand willen zien dan is dat geen probleem!
Maar ik denk dat het probleem hier zit, alleen ik weet niet waar :?
Alle help is welkom want ik wil dit heel graag opgelost hebben. :)

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 13:39
ik zou het hier zoeken
PHP:
1
2
3
4
if ($product[0] == $productid) {
$product[1] = $product[1] + $hoeveelheid;
$add = FALSE;
}


Begin eens met code tags zou ik zeggen :)

Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 30-06 22:19
Misschien niet echt de oplossing van je probleem, maar waarom sla je je producten op met comma's en pipe-tekens?

Het is veel handiger om het als volgt op te slaan:

PHP:
1
2
3
4
5
<?php

$_SESSION['cart_rows'][] = array('product_id' => 1, 'count' => 1);

?>

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 00:51

MueR

Admin Tweakers Discord

is niet lief

Je zult moeten gaan debuggen (Programming FAQ - Debuggen: hoe doe ik dat?). Simpelweg je code hier dumpen (zonder code tags) noemen wij een scriptrequest. We zijn hier niet om je code te debuggen, dat moet je echt zelf doen.

Anyone who gets in between me and my morning coffee should be insecure.


Dit topic is gesloten.