disable link after a click

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Noury

noury

03/12/2008 20:46:00
Quote Anchor link
Hallo iedreen,
In een webshop als iemand definitief wil bestellen als hij op de knop drukt soms duurt het een paar seconden totdat hij andere pagina ziet (product succesvol besteld).
Tussen die tijd kan een klant 2 keer op de knop (DEFINITIEF BESTELLEN)kliken dan worden 2 records in de database opgeslagen.
Heeft iemand een idee hoe ik die KAN OPLOSSEN.

Ik denk de javascript geen goed oplossing omdat het kan dat js uit staat.
Alvast bedankt
 
PHP hulp

PHP hulp

28/11/2024 03:24:00
 
Wouter De Schuyter

Wouter De Schuyter

03/12/2008 20:53:00
Quote Anchor link
Gewoon een php controle functie, je controlleerd eerst of die persoon afgelopen 10 seconden geen product heeft besteld voor je het record in de db laat schrijven. (10 seconden omdat het me vrij onmogelijk lijkt om in 10 seconden een nieuw product te bestellen en omdat de pagina wel niet langer dan 10 seconden zal laden..)
 
Noury

noury

03/12/2008 21:01:00
Quote Anchor link
Dus ik moet de producten tabel raadpleggen. Is er geen ander manier om dat te doen zonder dat ik de database raadpleeg.

Dank je
 
Jan Koehoorn

Jan Koehoorn

03/12/2008 21:22:00
Quote Anchor link
Ik neem aan dat je een query uitvoert om je records in de database op te slaan? Zet die query in een sessievariabele. Voordat een nieuwe INSERT query uitgevoerd wordt, check je of hij wel verschilt van de query die in de sessie staat.

Als dat niet zo is, voer je de query niet uit.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Noury

noury

03/12/2008 21:46:00
Quote Anchor link
Sorry Jan Koehoorn ik begrijp het niet of niet goed.

Het is moegelijk dat er 3 queries van verschilende klanten worden uitgevoerd
Hoe kan ik die queries in sessie zetten (zal ik ipadres of klantid ook zetten in sessie).

Zou je een voorbeeld geven
Alvast bedankt
 
Jan Koehoorn

Jan Koehoorn

03/12/2008 21:49:00
Quote Anchor link
Een sessie is uniek per bezoeker, dus je hoeft je geen zorgen te maken over verschillende klanten.
 
Noury

noury

03/12/2008 21:59:00
Quote Anchor link
oh wat stom van mij want ik weet dat natuurlijk.
en hoe zal ik de query in sessie zetten, bedoel je de sql query leterlijk of de datum wanneer de bestelling is geplaatst.
Kan ik doen zoals Paradox™ zegt. De tabel producten checken voordat ik een nieuwe record opsla (checken de datum van de laatset bestelling per klantId) en als er een verschil van 10 bijvoorbeel dan sla ik de nieuwe bestelling op.

Groetjes
 
Niek Weevers

Niek Weevers

04/12/2008 08:53:00
Quote Anchor link
Deze bovenstaande check is natuurlijk nodig.
Als extraatje kun je ook nog een javascript actie doen om de button disabled te maken. Dit is ook voor de bezoeker duidelijker, dat in plaats van de button bijv: bezig met versturen... komt te staan.
Als een bezoeker dan javascript uit heeft staan, dan heb je altijd die serverside check nog
 



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.