> Jeg har en asp side som modtager bruger-input fra en anden asp
> side. Modtager-siden displayer brugerens input og indsætter det i
> en database - og det virker OK.
>
> Problemet er, at hvis brugeren klikker på Refresh, så indsættes
> input'et lige så mange gange, der klikkes Refresh
>
> Det er jo ikke optimalt.
>
> Er der er "god-praksis" løsning på dette problem ?
>
> Jeg vil samtidig gerne forhindre brugeren i at klikke Back i
> browseren, for så kommer vedkommende tilbage til form-siden, som
> stadig indeholder input'et - og brugeren kan derved klikke på Gem
> endnu en gang og gemme input'et igen og igen.
>
For at undgå at folk bare kan trykke refresh og derved få indsat de samme
data kan du bare lave en:
response.redirect "default.asp"
efter at du har gemt i databasen
og når det gælder det andet problem med at folk kan trykke tilbage og Gem
igen, så kan du lave en session, hvor du gemmer det der sidst er blevet
indtastet og inden du gemmer i databasen skal du så lige tjekke om personen
prøver at gemme de samme data igen (altså om session("navn") =
request.form("navn") ), det vil dog ikke virke hos folk som har slået
cookies fra som ikke gemme på computeren. For at undgå det problem kan du
bare gemme det sidst indtastede i en application i stedet for.
Mvh. Christoffer Thygesen
e-mail: cht@cht.dk
homepage:
http://cht.dk