login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere gegevens in een sessie zetten

Offline Clemens32 - 06/06/2007 23:57
Avatar van Clemens32PHP interesse Ik heb het volgende topic gelezen: http://www.site...n_aan_cart

Nu heb ik toch nog een vraag.
Ik heb inmiddels hetvolgende staan:

  1. <?php
  2. $_SESSION['cart'] = array($_POST['productid'] => $_POST['quantity']);
  3.  
  4. foreach($_SESSION['cart'] as $id => $quantity) {
  5.  
  6. echo $id.": ".$quantity. "<br>";
  7. }
  8. ?>


Maar ik wil meer gegevens hebben.
Als ik een var_dump($_POST) maak krijg ik dit:

array(5) { ["size"]=> string(1) "3" ["quantity"]=> string(2) "12" ["productid"]=> string(1) "1" ["x"]=> string(2) "13" ["y"]=> string(2) "14" }

Wat de ["x'] en de ["y'] zijn weet ik niet :S, maar ik zou ook graag de size willen plaatsen.
Ook kom ik er niet uit hoe ik nu de gegevens die horen bij het productid op kan halen.
Ik heb het geprobeerd in de foreach te zetten, maar dat ging niet.
Iemand een oplossing?

2 antwoorden

Gesponsorde links
Offline Gerard - 07/06/2007 00:02 (laatste wijziging 07/06/2007 00:05)
Avatar van Gerard Ouwe rakker Wat jij zal moeten doen is de key gelijk houden aan het productid (zoals in het voorbeeld) en in plaats van de quanity weer een array erin stoppen met daarin de quantity en de size.

Je krijgt dan een soort visuele representatie op deze manier:

$cart = array();
$cart[{productid}] = array('quantity' => {quantity}, 'sizeid' => {sizeid});

Wat ik hierboven heb staan is dus niet zo uit te voeren natuurlijk. Het gaat er puur om dat je ziet dat je dus gebruik moet maken van arrays binnen een array.

edit
Hier nog even de link naar pastebin met daarin de cart class die ik initieel voor je had gemaakt.
Offline Clemens32 - 07/06/2007 00:35 (laatste wijziging 07/06/2007 00:35)
Avatar van Clemens32 PHP interesse Nu ben ik met bovenstaande class inderdaad al een stuk verder.
Alleen als ik nu een tweede product toevoeg aan de cart wordt de eerste overschreven.
Iemand een idee hoe ik dat kan/moet oplossen.

Hieronder de code die ik tot nu toe heb:

  1. <?php
  2. include('./classes/cart.class.php');
  3.  
  4. $cart = new Cart('winkelwagen'); // maak de cart aan in de sessie onder 'winkelwagen'
  5.  
  6. $cart->add($_POST['productid'], $_POST['quantity'], $_POST['sizeid']); // voeg dit product toe aan cart
  7.  
  8.  
  9. foreach($cart->get() as $productId => $productArray) {
  10.  
  11. echo $productId.' '.$productArray['sizeid'].' '.$productArray['quantity'].'<br />';
  12. }
  13. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s