Winkelwagen (Update van de Tutorial)

Door Milo , 13 jaar geleden, 15.148x bekeken

Hey,

Omdat ik nu voor de 2e keer op het forum dingen zag voor bij komen over een webwinkel, en dat ze de tutorial hier steeds proberen en het steeds weer niet lukt..
Dacht ik nou ik verbeter naar mijn inzicht alle punten waarop ik het script kon afkraken en zet die hier online zodat jullie er ook wat aan hebben.

De eigenlijke bron:
http://phphulp.nl/php/tutorials/8/252/

Zo heb ik de volgende punten aangepast:
- Foutmeldingen er in gebouwd.
- MySql injection beveiligd.
- CSSje gekoppeld aan t script (LET OP: Momenteel alleen FF vriendelijk...).
- Alles in div's etc gezet, tabel vond ik niet mooi :P..
- Javascript van de php code gescheiden.

Uitleg
Ga naar install.php om je db te installeren & voer de config.php juist in dan zou alles in 1 keer moeten werken :O
Gr,

PS: hoop dat jullie er iets mee kunnen

Ben je het er niet mee eens? Opbouwende kritiek altijd welkom!

Gr, Milo

Voorbeeld: http://after-party.nl/WEB/

Gesponsorde koppelingen

PHP script bestanden

  1. winkelwagen-update-van-de-tutorial

 

Er zijn 31 reacties op 'Winkelwagen update van de tutorial'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
SilverWolf NL
SilverWolf NL
13 jaar geleden
 
0 +1 -0 -1
Even snel doorgelezen, dit viel me in ieder geval op:

'U wilt een item verwijderen dat niet bestaat.'

Ik zal me er nog een andere keer wat dieper in verdiepen...
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
Zo in de browser ziet de éérste pagina er niet verkeerd uit, maar dan komt het gebruik. Waar kan de gebruiker aanmelden/een adres opgeven?

Verder zou kunnen:
- Meerdere foto's
- Prijzen incl/excl BTW, BTW variable voor sommige producten.
- De tabel "winkelwagen" duidelijk opmaken
- Terug kunnen gaan naar overzicht
- Categoriën
- Of het product nog bestelbaar is
- Afrekenen via account of direct adres opgeven.


session_unset() gooit niet alleen winkelwagen leeg maar de hele sessie, dus ook ingelogde gebruikers etc. neem liever unset();

en mysqli of pdo ipv mysql zou ook geen kwaad kunnen.
- Ariën -
- Ariën -
13 jaar geleden
 
0 +1 -0 -1
Wat is er mis met multidimensionale array's in een session?
Dat is veel netter dan kloten met explode en 'pipes'
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
@ Edoxile,

Mijn spelling is inderdaad niet geweldig, zal het aanpassen vanmiddag, nu eerst naar school :(


@ Steen,
Danku, ik heb expres alleen de winkelwagen zelf gedaan zodat mensen hem zelf kunnen implementeren met hun eigen log-in zonder dat ze dat van mij eerst er uit moeten slopen :P, maar ik wil er nog wel even naar kijken hoor ;).

- Meerdere foto's is een optie, zal eens kijken hoe ik dit ga doen ;)
- Wat denk jij hoevel % btw uit de db halen? want sommigen producten hebben toch niet de volle 19 % ? nee toch?
- Ik neem aan dat iemand met een beetje verstand van html en css dat ook nog wel kan regelen, maargoed dit zal ik vanmiddag doen ;)
- Die zal ik ZEKER nog even toevoegen.
- Mmm, dit kost iets meer werk, maar zal op termijn nog wel geregeld kunnen worden denk ik ;), ideeën? altijd welkom!
- Ja daar had ik ook nog niet aan gedacht :P...
- Session_unset word ook unset() :P

Verder zal ik even kijken of er mysqli van gemaakt kan worden dit gebruik ik zelf namelijk wel sinds enige tijd, maar dit script is nu al weer paar weken oud :P...

@ Aar,
Dan zou ik eerst moeten kijken hoe dat zit...
Niels K
Niels K
13 jaar geleden
 
0 +1 -0 -1
@milo

Ik heb nu je gegevens van je database... Misschien die eruit halen?
Jan geen
Jan geen
13 jaar geleden
 
0 +1 -0 -1
Zoals Aar al zegt is dat exploden op pipes niet zo mooi, je kan gewoon een array in een array stoppen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$_SESSION
["cart"] = array();
$_SESSION["cart"]["product1"]  = "2";
?>
SilverWolf NL
SilverWolf NL
13 jaar geleden
 
0 +1 -0 -1
En dit viel me ook op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?PHP
    echo 'Er is een fout opgetreden bij de query. <br />';
    echo mysql_error();
?>

Lijkt mij ook niet helemaal de bedoeling. De error-afhandeling kan dus ook nog iets beter. Bijvoorbeeld de error naar een tekstbestand schrijven? Verder misschien op de productnaam nog mysql_real_escape_string() toepassen, want ze kunnnen quotes bevatten.
Jasper hoi
jasper hoi
13 jaar geleden
 
0 +1 -0 -1
Je hebt in nederland inderdaad 2 btw-tarieven, dit zijn 19% en 6%.
Op levensmiddelen zit 6%, op de rest (bijna alles) 19%
PHP Newbie
PHP Newbie
13 jaar geleden
 
0 +1 -0 -1
We kennen 3 btw tarieven: 19%, 6% en 0%.
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
@Niels, waar en hoe kom je aan mijn database gegevens, volgens mij staan die nergens?
---- ----
---- ----
13 jaar geleden
 
0 +1 -0 -1
@ Milo

Als je het bestand download en Config.php opend staan joun gegevens nog;)
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
Oeps :P


God zei dank word deze site toch over 2 maanden opgeheven, gebruik hem nu als dump plaats :P
Remie
remie
13 jaar geleden
 
0 +1 -0 -1
@PHP Newbie
0% is alleen voor bedrijven als ik mijn niet vergis en bedrijven betalen het op een andere manier toch wel.

Denk aan drank, benzine, sigaretten etc. daar zit wel iets meer op dan alleen belasting :)
Onbekend Onbekend
Onbekend Onbekend
13 jaar geleden
 
0 +1 -0 -1
Moet de winkelwagen niet leeggehaald worden nadat de bestelling is geplaatst?
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
Ach ja, zal het toevoegen ;)

PS: Niet alle wijzigen zijn direct zichtbaar, ik wijzig zometeen alles in me script en plaatst dan alles in 1 keer goed online...
Bas IJzelendoorn
Bas IJzelendoorn
13 jaar geleden
 
0 +1 -0 -1
[the six days after]
het voorbeeld werkt niet meer :(
[/the six days after]
---- ----
---- ----
13 jaar geleden
 
0 +1 -0 -1
vaag.. gisteren deed die het nog wel volgensmij..
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
Whooops, my bad,,,
Had alle tables gedelete maar ga t eff oplossen ;)

Heb tabellen weer der in gezet :P
Robin
robin
13 jaar geleden
 
0 +1 -0 -1
zou iemand voor mij een klein mini script kunnen maken dat je bij het afreken het totaal bedrag zou kunnen zien?
Ik ben namelijk met het script aan het rommelen en heb niet echt super veel verstand van php lijkt me leuk om er verder mee weg te kunnen.

Alvast bedankt!
Niek Kasius
Niek Kasius
13 jaar geleden
 
0 +1 -0 -1
waar is het script waarmee producten toevoegt?
En Winkelwagen.js waar moet ik dat vandaan plukken?
een css kan ik zelf nog wel fabriceren
Milo S
Milo S
13 jaar geleden
 
0 +1 -0 -1
Hey,

Nou ehm voor de verandering van de website stonden ze er nog, nu zijn ze dus weg.
Nu heb ik niet meer die account omdat ik niet kon inloggen daarop.
Maar die stukjes javascript kan je van de oude tutorial halen, waren volgens mij precies hetzelfde.
Zelf heb ik die stukjes ook niet meer want heb een nieuwe computer en lekker niks meegenomen van me oude pc (zelfs me website niet XD).
Wel zou ik het fijn vinden als je de volgende keer op een normale manier kan vragen want dit slaat nergens op, wees blij dat hij er staat.

Hier die javascript:
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
<script type='text/javascript'>
<!--
function removeItem(item) {
    var answer = confirm ('Weet je zeker dat je dit product wilt verwijderen?')
    
    if (answer)
        window.location='delete_cart_item.php?item=' + item;
}

function removeCart() {
    var answer = confirm ('Weet je zeker dat je de winkelwagen wilt leeghalen?')
    
    if (answer)
        window.location='delete_cart.php';
}
//-->
</script>


Welk script dat producten toevoegt? Je bedoel add.php? Die staat er gewoon.
Als je een admin bedoelt die heeft er nooit bijgezeten, mag hopen dat je die zelf kan maken als je aan een webwinkel begint.
Niek Kasius
Niek Kasius
13 jaar geleden
 
0 +1 -0 -1
Zou u mij dan kunnen uitleggen dat er dan toch iets te zien moeten zijn, met een (form en input en of textarea) of iets dergelijks waarin je iets kunt invullen.
Maar als ik add.php open, zie ik alleen maar 'Er is geen product id meegezonden'
En de ander scripts geven soortgelijke teksten zoals een lege etalage,een lege winkelwagen, alleen afrekenen doet raar die geeft namelijk aan dat mijn bestelling is geplaatst terwijl ik helemaal niks kan bestellen. maar het was aardig om dat script alsnog te plaatsen.
Nee aan een webwinkel begin ik niet meer opmijn ouwe dag. het is maar om uit te proberen of ik er iets van snap en om er een ander eventueel een plezier mee te doen.
Milo S
Milo S
13 jaar geleden
 
0 +1 -0 -1
Okee ik zal het proberen uit te leggen,
Open eerst instal.php dan drukt u op installeer de database en gaat u in uw phpmyadmin wat producten in de producten tabel toevoegen.
Indien u dit gedaan heeft opent u index.php en dan kunt u gewoon dingen aan de winkelwagen toevoegen, verwijderen en echt bestellen zegmaar.
Gr,
Niek Kasius
Niek Kasius
13 jaar geleden
 
0 +1 -0 -1
Sorry! Ik vind het aardig dat je het probeerd uit te leggen.
En het zal wel aan mij liggen, maar ik snap er geen bal van.
Maar wil je nu zeggen dat ik eerst zelf een script moet maken waarmee je producten kunt invoeren of iets dergelijks.
ach laat ook maar, ik was vroeger halverwegen de vorige eeuw al niet de beste van de klas, ik ga het zelf toch nooit gebruiken, dus waarom nog zoveel moeite doen
Milo S
Milo S
13 jaar geleden
 
0 +1 -0 -1
Ja ik wil inderdaad zeggen dat je een script moet maken om producten in de database te gooien, maar dit kan je ook handmatig via je phpmyadmin doen.
Niek Kasius
Niek Kasius
13 jaar geleden
 
0 +1 -1 -1
zo dat is ook weer gebeurt! had een posten script gepakt en daarin de post naar de database veranders en de actie naar product.php gezet.
En naardat ik het geprobeerd had, sloeg ik op tilt en heb mijn pc ontdaan van die tr....
Aad B
Aad B
12 jaar geleden
 
0 +1 -0 -1
ik ben ermee aan de slag en het werkt zoals ik het wil. Er zitten nog wel een paar foutjes in die je niet merkt: Undefined Variable/array $NewCart en Undefined variable i$. In beide gevallen heb je die niet gedeclareerd boven de foreach. $i=0 en NewCart='' loste het op. Ik zag de foutmeldingen omdat ik met bouwen altijd een tail -f op de http/errorlog heb staan. Verder kreeg is er nog de tip van Karl om met multidimensionale arrays te werken maar dat foutloos ombouwen gaat mijn pet nog een beetje te boven...
Piet piraat
piet piraat
12 jaar geleden
 
0 +1 -0 -1
Is er ook een mogelijkheid om de inhoud van het winkelwagentje op een ander pagina (bijv index) te laten zien?
Patrick Oreel
Patrick Oreel
9 jaar geleden
 
0 +1 -0 -1
Kan iemand mij (op weg) helpen om het totaalbedrag van je winkelmandje uit te rekenen?

Edit:

Het is mij inmiddels gelukt!
Henk Jan de Bruin
Henk Jan de Bruin
7 jaar geleden
 
0 +1 -1 -1
Ik weet dat deze topic al oud is, toch gebruik ik hem nog vaak. Het voordeel van dit script is dat er veel mogelijkheden zijn om zelf dingen te veranderen! Alsnog, mooie tutorial!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Klim geit
klim geit
7 jaar geleden
 
0 +1 -1 -1
Heel bijzonder om een prijs als VARCHAR op te slaan. Lekker handig om berekeningen op los te laten..

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. winkelwagen-update-van-de-tutorial

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.