Toon posts:

PHP winkelwagen probleem

Pagina: 1
Acties:
  • 161 views

  • 3wielerdealer
  • Registratie: oktober 2009
  • Laatst online: 23-09 16:42
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!

  • Catch22
  • Registratie: november 2001
  • Laatst online: 23:44
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 :)

But if I offended you | Good | 'Cause I still don't give a f*ck
Hou eens op met die auto-analogieen mensen
AMD Ryzen 2700x - Asus 3090 TUF OC - 32Gb Corsair Vengeance RGB Pro - Aoc 27" 1440p 144hz - Samsung g9 49" 32:9


  • dev10
  • Registratie: april 2005
  • Laatst online: 16:11
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);

?>

  • MueR
  • Registratie: januari 2004
  • Laatst online: 00:48

MueR

Moderator Devschuur®

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.
Breng nu uw applicatie naar de kloot. Dat is veel beter! Nu samen met klootopslag. Voor maar €9,95. Doei doei!


Dit topic is gesloten.



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee