Avatar billede multicoder Nybegynder
01. december 2007 - 19:19 Der er 3 kommentarer og
1 løsning

Problem med repost af form data

Hej

Jeg sidder og er ved at lave en indkøbskurv funktion, helt standard med Gå til kassen, indtast køberinfo, vælg leveringsform og godkend betaling.

Det jeg er lidt i tvivl om er hvordan man bedst muligt undgår fejl i forbindelsen med repost af data.

Jeg har erfaret at rigtig mange brugere ikke kan holde fingrene fra browserens frem og tilbage knapper eller i værste fald forsøger sig med at reloade siden med F5 og på den måde kommer til at reposte data under indkøbskurv forløbet.

Findes der nogle grundregler for hvordan man undgår denne type fejl?

pft.
Avatar billede jakobdo Ekspert
01. december 2007 - 20:39 #1
Repost skyldes i bund og grund, at browseren husker POST data som ligger gemt i headeren / kaldet til serveren.
Så en måde at undgå F5 på, er efter at have brugt data som er postet, så smider du en:

header('Location: side.php');
exit();

Så tømmes POST data og brugeren kan trykke F5 lige så mange gange denne måtte ønske, uden at en vare tilføjes flere gange.

Her på siden mener jeg de bruger noget med et ID i formen, men ikke en teknik jeg kender eller har arbejdet med desværre.
Avatar billede multicoder Nybegynder
02. december 2007 - 12:31 #2
Hej Jakobdo

Tak for dit svar. Jeg har lige afprøvet det, og det var lige det som der skulle til.

Smider du ikke lige et svar.
Avatar billede jakobdo Ekspert
02. december 2007 - 17:24 #3
Svar!
Avatar billede jakobdo Ekspert
02. december 2007 - 17:50 #4
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester