Artikels opslaan in winkelwagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jos Vermassen

Jos Vermassen

05/02/2013 15:49:58
Quote Anchor link
Hallo,

Ik ben bezig met het maken van een webshop, deze moet uiteraard een winkelwagen bevatten.
Ik laat nu een lijst met artikelen tonen, met achter elk artikel een een link 'add to shopping cart'. Als ik op deze link klik, ga ik naar een nieuwe pagina waar al de artikelen van iemand zijn winkelwagentje worden bij gehouden.

Mijn vraag is: op welke manier kan ik bijhouden welke artikelen de gebruiker heeft aangeklikt?
 
PHP hulp

PHP hulp

26/12/2024 02:38:56
 
- Mark -

- Mark -

05/02/2013 15:51:31
Quote Anchor link
$_SESSION ?
 
Jos Vermassen

Jos Vermassen

05/02/2013 15:53:36
Quote Anchor link
Bedankt voor je snelle reactie, ik ben nog altijd wat nieuw met php dus zou je wat meer uitleg kunnen geven?
En blijven de artikelen dan nog steeds als de gebruiker afmeld?
 
Ward van der Put
Moderator

Ward van der Put

05/02/2013 15:56:21
Quote Anchor link
Niet (alleen) in de sessie, maar in een database.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/02/2013 15:56:52
 
Jos Vermassen

Jos Vermassen

05/02/2013 15:57:11
Quote Anchor link
Ward van der Put op 05/02/2013 15:56:21:
Niet (alleen) in de sessie, maar in een database.


Dat dacht ik ook, maar ik snap niet goed op welke manier ik dat kan bijhouden?
 
Kris Peeters

Kris Peeters

05/02/2013 15:59:00
Quote Anchor link
(edit: ondertussen zijn er een aantal reacties tussen gekomen)
- Mark - op 05/02/2013 15:51:31:
$_SESSION ?


Ja, met session.

Houd slechts twee dingen bij, per artikel:
het id van het artikel en het aantal exemplaren.

Begin vooral niet met prijzen op deze manier bij te houden; berekende sub-totaal, ...
De prijs is iets wat je, te allen tijde, op het laatste moment berekent; op basis van id en aantal exemplaren en met de eenheidsprijs uit de db.
Gewijzigd op 05/02/2013 16:05:07 door Kris Peeters
 
Jos Vermassen

Jos Vermassen

05/02/2013 16:03:24
Quote Anchor link
Kris Peeters op 05/02/2013 15:59:00:
(edit: ondertussen zijn er een aantal reacties tussen gekomen)
- Mark - op 05/02/2013 15:51:31:
$_SESSION ?


Ja, met session.

Houd slechts twee dingen bij, per artikel:
het id van het artikel en het aantal exemplaren.

Begin vooral niet met prijzen op deze manier bij te houden; berekende sub-totaal, ...
De prijs is iets wat je, te allen tijde, op het laatste moment berekent; op basis van id en aantal exemplaren en met de eenheidsprijs uit de db.


En op jouw manier, zou ik het niet moeten bijhouden in een databank?
 
Kris Peeters

Kris Peeters

05/02/2013 16:06:08
Quote Anchor link
Bijhouden in een db mag ook.
Dat geeft je nog extra mogelijkheden.

Jos Vermassen op 05/02/2013 15:53:36:
... En blijven de artikelen dan nog steeds als de gebruiker afmeld?

Is het niet zo ongeveer de definitie van afmelden dat dit soort dingen terug op blanco worden gezet; alsof de gebruiker voor de eerste keer op de site komt?
 
- Mark -

- Mark -

05/02/2013 16:06:30
Quote Anchor link
Een winkelwagen is maar iets tijdelijks over het algemeen. Vaak hebben mensen nog niet eens een account als ze aan het winkelen zijn dus je kunt het dan zo goed als niet in een database gooien.

Onderstaande is verre van compleet maar het is om je een idee te geven.

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
<?php

    # Session starten of hervatten.
    session_start();

    
    # Winkelwagen aanmaken als deze nog niet bestaat.
    if(!isset($_SESSION['winkelwagen'])){
        
        $_SESSION['winkelwagen'] = array();
    }



    # Artikel toevoegen.
    if(isset($_GET['artikel_id'], $_GET['aantal'])){

        $_SESSION['winkelwagen'][$_GET['artikel_id'] = $_GET['aantal'];
    }



    # Winkelwagen weergeven.
    foreach($_SESSION['winkelwagen'] as $artikel_id => $aantal){

        echo $artikel_id.' - '.$aantal;
    }

    
?>
 
Jos Vermassen

Jos Vermassen

05/02/2013 16:07:37
Quote Anchor link
Kris Peeters op 05/02/2013 16:06:08:
Bijhouden in een db mag ook.
Dat geeft je nog extra mogelijkheden.

Jos Vermassen op 05/02/2013 15:53:36:
... En blijven de artikelen dan nog steeds als de gebruiker afmeld?

Is het niet zo ongeveer de definitie van afmelden dat dit soort dingen terug op blanco worden gezet; alsof de gebruiker voor de eerste keer op de site komt?


Nee, dat zou niet mogen gebeuren in dit geval.
Kan je me een stapje in de goede richting zetten, hoe ik het moet doen met een databank?
 
Ward van der Put
Moderator

Ward van der Put

05/02/2013 16:12:50
Quote Anchor link
Ik zou winkelwagentjes wél bijhouden in een database, maar dat sluit het gebruik van een sessie natuurlijk niet uit. (Je kunt namelijk de sessie of een deel daarvan in de database parkeren.)

Op de middellange en lange termijn wil je de conversie kunnen analyseren. En daarvoor heb je niet slechts de verkoopdata nodig, maar zeker ook alle achtergelaten winkelwagentjes die niet tot een concrete bestelling hebben geleid. Verder helpen alle winkelwagentjes (ook de achtergelaten) bij up-sellen en cross-sellen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.