Avatar billede petey Nybegynder
22. juli 2001 - 11:01 Der er 13 kommentarer og
1 løsning

Undgå at databasen bliver opdateret

Jeg er igang med at lave et messageboard. Jeg har en html-side med en form på, hvor action peger på den asp side, hvor jeg tilføjer brugerens input til en database. Når asp siden loades, starter jeg med at tjekke, om brugeren overhovedet har indtastet noget i felterne. Problemet er, at hvis jeg bare hente asp siden ind, uden at have skrevet noget i formen på html siden, så opdaterer den databasen alligevel (med tomme strenge). Det samme sker, hvis jeg trykker F5 for at opdatere siden.
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:06 #1
Hmm .. lad os lige se din ASP side.

Du kan smide dit \"opdater DB\" ind imellem en:

If Request.ServerVariabless(\"HTTP_METHOD\") = \"POST\" Then

End If

Så vil det kun blive udført hvis formen var submittet
Avatar billede stig3 Mester
22. juli 2001 - 11:10 #2
Det nemmeste var måske at validere formen med javascript inden den blev sendt.

Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:13 #3
stig3:> holder ikke i længden det jeg lige har skrevet er næsten et MUST, da alle og enhver kan skrive i adresselinien og dermed omgås dit JS, desuden har jeg tit slået JS fra og det tillader mig så at submitte uden nogen form for validation.

Så skal man lave:

<input type=\"button\" value=\"Submit\" onclick=\"formens_navn.submit();\">
Avatar billede stig3 Mester
22. juli 2001 - 11:14 #4
Glem det - den misforstod jeg vist lidt.
Avatar billede erikjacobsen Ekspert
22. juli 2001 - 11:15 #5
Du kan også - efter den normale opdatering - redirecte til samme side.
Så kan man f.eks. ikke trykke opdater, og få lavet det en gang til (hmmnm,
mon ikke eksperten.dk gør så\'n ... he he)
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:17 #6
erikjacobsen:> Yeps .. det er nok det mest vigtige ..
Eksperten laver det på en uunderlig måde .. hvis du trykker \"Udfør\" 13 gange sker det kun een gang ..
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:17 #7
Vil også lige smide et svar ...
Avatar billede erikjacobsen Ekspert
22. juli 2001 - 11:21 #8
Underligt? De har en ImpressionID, der tæller op for hver visning, og de gør
sikkert det, at de kun tager det første indlæg på en given ImpressionID - og
ignorerer resten. Smart? Ja ja...!
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:24 #9
erikjacobsen:> ImpressionID ? Og hvordan var det lige at _jeg_ skulle vide hvad det var ? *g*
Avatar billede erikjacobsen Ekspert
22. juli 2001 - 11:24 #10
Vis Kilde
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 11:31 #11
Ahh ja .. det kan jeg godt lige få øje på ... smart ..
Avatar billede petey Nybegynder
22. juli 2001 - 16:05 #12
Tak for den hurtige hjælp alle sammen!

Det lader at tdaugaards ide med at bruge Request.ServerVariables virker perfekt.
Avatar billede tdaugaard Nybegynder
22. juli 2001 - 16:08 #13
petey:> Tak :-)
Avatar billede petey Nybegynder
07. august 2002 - 20:35 #14
erikjacobsen: Hvor ser du den impressionID i koden ?
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