Versio

Winkelwagen updaten

Juist.. in de winkelwagen hadden we een formulier gemaakt met een hoop vars (ligt natuurlijk ook aan de inhoud). Daarmee kunnen we de hoeveelheden gemakkelijk aanpassen. Dat doen we dus op deze pagina!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
// update_cart.php
session_start();

// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
  // Nee dus, terugsturen!
  header("Location: index.php");
}
else {
  // Exploden
  $cart = explode("|",$_SESSION['cart']);

  // Tellen
  $count = count($cart);

  // Alle producten langslopen
  foreach($cart as $products) {
    // Split
    /*
      $product[x] -->
         x == 0 -> product id
         x == 1 -> hoeveelheid
    */

    $product = explode(",",$products);
    $i++;

    $postedProduct = "productnummer_".$i;     // Deze twee om later de geposte waarde te 'spoofen'
    $postedQuantity = "hoeveelheid_".$i;

    if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0)   // hier dus
    {
      // Update pro
      $inNewCart = $product[0].",".$_POST[$postedQuantity];
      $newCart = $newCart."|".$inNewCart;
    }
  }

  
  // En weer die luiheid, dus die eerste | eraf...
  $newCart = substr($newCart,1);

  // Oude winkelwagen weg, nieuwe terug
  session_unset($_SESSION['cart']);
  $_SESSION['cart'] = $newCart;

  // En weer terugsturen
  header("Location: cart.php");
}

?>


Oi.. dat was ook best simpel. Wat gebeurde hier?

Ik loop door de foreach de hele array af met daarin de blokken met de bestelde goederen. Daarin maak ik een variabele aan die de huidige winkelwagen-item met de geposte waarden bewaar. Als laatste zet ik die variabele als de nieuwe sessie-variabele die de winkelwagen heeft. Dan stuur ik ze terug.

Nu het beste van de webshop. Het afrekenen.

« Lees de omschrijving en reacties

Inhoudsopgave
  1. Voorwoord
  2. Technisch ontwerp
  3. Etalage
  4. Producten toevoegen
  5. De winkelwagen
  6. Verwijderen items
  7. Winkelwagen updaten
  8. Afrekenen
  9. Nawoord
  • Gesponsorde koppelingen
Get Adobe Flash player