Avatar billede asp-aalborg Nybegynder
04. december 2008 - 08:15 Der er 4 kommentarer

Hvordan blokeres tilbage knap i browser ?

Hej

Jeg vil starte med at fortælle at jeg absolut ikke er nogen programmeringshaj, men synes at det er lidt spændende at rode med.
Ved at kigge lidt på andres asp kodning og kopiere lidt her og der er det lykkedes mig at få en lille asp side til at snakke med en access database, og det virker rigtig fint. Kan gemme og hente data i databasen. Bruger nu scriptet på mit job i forbindelse med tilmelding til nogle sociale arrangementer.

Nok om det, nu til problemet... Jeg vil gerne have blokeret tilbage knappen i browseren, da jeg tit er ude for dobbelt registreringer i databasen, fordi at brugeren har klikket tilbage+frem på siden. På den måde skriver siden flere gange i databasen. Har i en simpel opskrift på dette ?
Jeg har allerede kigget lidt på følgende http://www.eksperten.dk/spm/642353 men kan ikke få det til at virke på min side.
Avatar billede mortvader Nybegynder
04. december 2008 - 08:20 #1
Hejsa.

Det du skal, for at undgå dobbeltposterne er at redirecte efter insert i databasen.

Eksempel:

På din URL www.mitsite.dk/registrer.asp
ligger formen hvor folk indtaster informationerne.
Når de gemmer, dvs POSTER, sendes de f.eks til
www.mitsite.dk/registrer.asp?action=gem

her sørger du for at indsætte data fra formen i DB (som du gør nu)
men herefter skal du lave en
response.redirect "registrer.asp" (for eksempel)
- eller til en side hvor der står "tak for din registrering".

Du skal altså VÆK igen fra den URL hvor data bliver postet i din DB.

Håber det giver mening :)

/Morten
Avatar billede fennec Nybegynder
04. december 2008 - 08:26 #2
Back knappen kan IKKE deaktiveres.

Det du kan gøre er enten at redirecte lige efter din indsættelse:
conn.execute("insert into ....")
response.redirect("enSide.asp")

Eller også kan du submitte data via AJAX, men det er en meget større opgave. Speciel nu du siger du ikke er programmerings haj.
Avatar billede asp-aalborg Nybegynder
04. december 2008 - 14:38 #3
Tak for hjælpen. Det skal prøves af meget snart.
Jeg har nemlig gemme funktionen (conn.execute) og "tak for din registrering" siden  i samme script. Men det vil jeg lige prøve at dele op, og lave den response.redirect til "tak for din registrering" siden.
Avatar billede fennec Nybegynder
04. december 2008 - 15:13 #4
Det er ikke nødvendigt at redirecte til en ny side. Det er fint at gøre det til samme side (gør jeg selv).

Du skal dog være opmærksom på når du tester, har du først submittet, og smider redirect ind i koden bagefter og trykker F5/Reload, så træder den IKKE ikraft. Der ligger noget cashe i browseren, som forhindre dette. Der skal du reloade siden fra grunden igen for at det virker (taste url'en i adressebaren igen).
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
Kurser inden for grundlæggende programmering

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