/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Skjul forrige side
Fra : Thomas


Dato : 03-02-03 14:11

Jeg har en formular min bruger skal udfylde. Når han submitter dirigeres han
videre til en anden side. Derfra skal han ikke have mulighed for at "gå
tilbage" igen og gensende dataen. Hvordan kan man blokere adgangen til
formularen igen efter den er afsendt en gang?





 
 
Jimmy (03-02-2003)
Kommentar
Fra : Jimmy


Dato : 03-02-03 15:21


"Thomas" <asd@asdsa.de> wrote in message
news:b1lppp$30so$1@news.cybercity.dk...
> Jeg har en formular min bruger skal udfylde. Når han submitter dirigeres
han
> videre til en anden side. Derfra skal han ikke have mulighed for at "gå
> tilbage" igen og gensende dataen. Hvordan kan man blokere adgangen til
> formularen igen efter den er afsendt en gang?


Du kan ikke sikre dig 100%, at han ikke kan klikke "Back" i sin browser og
få vist formen igen.

Men du kan sætte en session variabel, når han submitter data.
Før du sætter denne checker du for om den er instantieret i forvejen.
Hvis den er det må det betyde, at han allerede har sendt data og derfor ikke
skal have koden afviklet igen.

Som med så meget andet fejler denne metode naturligvis hvis brugeren har
slået Sessions fra.

Der kan konstrueres andre check baseret på ovenstående fremgangsmåde.

mvh
Jimmy



Thomas (03-02-2003)
Kommentar
Fra : Thomas


Dato : 03-02-03 15:44

ok...det har jeg gjort nu og det virker. Men det forudsætter at brugeren
klikker på refresh efter han er gået tilbage. Hvis han ikke klikker refresh
vises siden og brugeren har således mulighed for at gensende ordren med
dataene.

"Jimmy" <nyhedsgruppe@get3_erstat_3_med_2.dk> skrev i en meddelelse
news:oVu%9.65$e14.56@news.get2net.dk...
>
> "Thomas" <asd@asdsa.de> wrote in message
> news:b1lppp$30so$1@news.cybercity.dk...
> > Jeg har en formular min bruger skal udfylde. Når han submitter dirigeres
> han
> > videre til en anden side. Derfra skal han ikke have mulighed for at "gå
> > tilbage" igen og gensende dataen. Hvordan kan man blokere adgangen til
> > formularen igen efter den er afsendt en gang?
>
>
> Du kan ikke sikre dig 100%, at han ikke kan klikke "Back" i sin browser og
> få vist formen igen.
>
> Men du kan sætte en session variabel, når han submitter data.
> Før du sætter denne checker du for om den er instantieret i forvejen.
> Hvis den er det må det betyde, at han allerede har sendt data og derfor
ikke
> skal have koden afviklet igen.
>
> Som med så meget andet fejler denne metode naturligvis hvis brugeren har
> slået Sessions fra.
>
> Der kan konstrueres andre check baseret på ovenstående fremgangsmåde.
>
> mvh
> Jimmy
>
>



Thomas (03-02-2003)
Kommentar
Fra : Thomas


Dato : 03-02-03 15:46

Den nye problematik er således at tvinge siden til genindlæsning når bruger
går tilbage til den istedet for blot at hente den fra cachen og det er
tilsyneladende ikke nok med en <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
i headeren


"Jimmy" <nyhedsgruppe@get3_erstat_3_med_2.dk> skrev i en meddelelse
news:oVu%9.65$e14.56@news.get2net.dk...
>
> "Thomas" <asd@asdsa.de> wrote in message
> news:b1lppp$30so$1@news.cybercity.dk...
> > Jeg har en formular min bruger skal udfylde. Når han submitter dirigeres
> han
> > videre til en anden side. Derfra skal han ikke have mulighed for at "gå
> > tilbage" igen og gensende dataen. Hvordan kan man blokere adgangen til
> > formularen igen efter den er afsendt en gang?
>
>
> Du kan ikke sikre dig 100%, at han ikke kan klikke "Back" i sin browser og
> få vist formen igen.
>
> Men du kan sætte en session variabel, når han submitter data.
> Før du sætter denne checker du for om den er instantieret i forvejen.
> Hvis den er det må det betyde, at han allerede har sendt data og derfor
ikke
> skal have koden afviklet igen.
>
> Som med så meget andet fejler denne metode naturligvis hvis brugeren har
> slået Sessions fra.
>
> Der kan konstrueres andre check baseret på ovenstående fremgangsmåde.
>
> mvh
> Jimmy
>
>



Jimmy (03-02-2003)
Kommentar
Fra : Jimmy


Dato : 03-02-03 15:50


"Thomas" <asd@asdsa.de> wrote in message
news:b1lvba$53g$1@news.cybercity.dk...
> Den nye problematik er således at tvinge siden til genindlæsning når
bruger
> går tilbage til den istedet for blot at hente den fra cachen og det er
> tilsyneladende ikke nok med en <META HTTP-EQUIV="Pragma"
CONTENT="no-cache">
> i headeren


Det har været diskutteret mange gange og man kan godt angive diverse
EXPIRE-properties, men man kan aldrig være sikker på siden bliver
genindlæst.

Sidst var der en der mente at det rent faktisk var et krav et eller andet
sted fra at man kan klikke Back uden at siden genindlæses.

Fordi browserne opfører sig så forskelligt og cacher som de har lyst til
mener jeg kun du kan lave et check når de submitter data.

Du kan altså ikke forhindre dem i at få vist den gamle side, men du kan
forhindre at deres eventuelle gen-submit lagres i databasen.

Mvh
Jimmy



Thomas (03-02-2003)
Kommentar
Fra : Thomas


Dato : 03-02-03 16:18

ok...lyder logisk. Men er der så ikke en måde jeg kan tømme mine formulars
felter således brugeren er tvunget til at genindtaste dataene (pga. klient
side valideringen) ?
Hele problematikken handler naturligvis om de "dumme" brugere der utålmodigt
klikker tilbage og gensender formularen flere gange. Jeg har fundet et js
som deaktiverer submit knappen og fungerer super, hvis andre har samme
problem.

function disableKnap(btn) {
visTekst();
if (typeof btn.disabled != 'undefined') {
// NS6 and IE return boolean for typeof btn.disabled,
// so we're here if it's NS6 or IE
btn.disabled = true;
// button is now disabled until the page reloads
} else {
// at least NS4 returns 'undefined' for typeof btn.disabled
// other browsers may as well
btn.onfocus = function () { this.blur(); }
btn.onclick = function () { return false; }
// button is now disabled in NS4 until page reloads
} btn.value = 'Sender data';
}

<input type="submit" name="Submitknap" value="Godkend"
onclick="disableKnap(this);">


"Jimmy" <nyhedsgruppe@get3_erstat_3_med_2.dk> skrev i en meddelelse
news:fkv%9.279$oR4.206@news.get2net.dk...
>
> "Thomas" <asd@asdsa.de> wrote in message
> news:b1lvba$53g$1@news.cybercity.dk...
> > Den nye problematik er således at tvinge siden til genindlæsning når
> bruger
> > går tilbage til den istedet for blot at hente den fra cachen og det er
> > tilsyneladende ikke nok med en <META HTTP-EQUIV="Pragma"
> CONTENT="no-cache">
> > i headeren
>
>
> Det har været diskutteret mange gange og man kan godt angive diverse
> EXPIRE-properties, men man kan aldrig være sikker på siden bliver
> genindlæst.
>
> Sidst var der en der mente at det rent faktisk var et krav et eller andet
> sted fra at man kan klikke Back uden at siden genindlæses.
>
> Fordi browserne opfører sig så forskelligt og cacher som de har lyst til
> mener jeg kun du kan lave et check når de submitter data.
>
> Du kan altså ikke forhindre dem i at få vist den gamle side, men du kan
> forhindre at deres eventuelle gen-submit lagres i databasen.
>
> Mvh
> Jimmy
>
>



Jimmy (03-02-2003)
Kommentar
Fra : Jimmy


Dato : 03-02-03 18:31


"Thomas" <asd@asdsa.de> wrote in message
news:b1m183$7hl$1@news.cybercity.dk...
> ok...lyder logisk. Men er der så ikke en måde jeg kan tømme mine formulars
> felter således brugeren er tvunget til at genindtaste dataene (pga. klient
> side valideringen) ?

Du kan ganske givet tømme alle felter vha. Javascript.
Jeg forestiller mig, at Javascript afvikles selv om man klikker Back, men
jeg har ikke undersøgt dette.

Spørg evt. i dk.edb.internet.webdesign.clientside

Mvh
Jimmy



Jesper Stocholm (03-02-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 03-02-03 17:04

Jimmy wrote :

>
> "Thomas" <asd@asdsa.de> wrote in message
> news:b1lvba$53g$1@news.cybercity.dk...
>> Den nye problematik er således at tvinge siden til genindlæsning når
> bruger
>> går tilbage til den istedet for blot at hente den fra cachen og det
>> er tilsyneladende ikke nok med en <META HTTP-EQUIV="Pragma"
> CONTENT="no-cache">
>> i headeren
>
>
> Det har været diskutteret mange gange og man kan godt angive diverse
> EXPIRE-properties, men man kan aldrig være sikker på siden bliver
> genindlæst.
>
> Sidst var der en der mente at det rent faktisk var et krav et eller
> andet sted fra at man kan klikke Back uden at siden genindlæses.

Det var mig ...

Jeg forsøgte at finde årsagen til de problemerne vi ofte står overfor som
webprogrammører.

Indlægget hvor jeg spurgte om det i dk.edb.internet er

<Xns930B83D865C6Espamstocholmdk@130.226.1.34>

og det bedste svar kom fra Niels Andersen i indlægget

<1345605.xCtQQB3Z2c@home.myplace.dk>

> Fordi browserne opfører sig så forskelligt og cacher som de har lyst
> til mener jeg kun du kan lave et check når de submitter data.
>
> Du kan altså ikke forhindre dem i at få vist den gamle side, men du
> kan forhindre at deres eventuelle gen-submit lagres i databasen.

i øvrigt er jeg enig ...



--
Jesper Stocholm - http://stocholm.dk

Svar til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste