02. februar 2002 - 13:07Der er
7 kommentarer og 1 løsning
Forhindre 'refresh' med 'resend info'!?
Overskriften er sådan set hele opgaven! Jeg har en side, hvor en konstant kilde til fejl er fejlskrivning til databasen fordi brugeren 'refresher' siden og svarer "ja" til at gensende informationerne.
Kan det lade sig gøre at deaktivere refresh for en bestemt underside (og evt skrive en besked til brugeren, når han prøver?)?
men du har altså form og tilføjelseskode i samme script?, og brugeren skal ende på samme side igen?
personligt løste jeg det med
location.replace('./densammefil.asp'), men normalt har jeg alt information der skriver til database i en skjult frame, det løser maaaaange problemer !
-grunken
Synes godt om
Slettet bruger
02. februar 2002 - 13:16#2
Det kan, så vidt jeg ved, ikke lade sig at gøre at deaktivere "refresh". Men du kunne f.eks. gemme tidspunktet, hvor brugeren sidst har tilføjet noget til databasen i en session, og så derudfra finde ud af om brugeren skal have lov til at skrive til databasen igen.
Det er en hel del mere kompliceret end det: Inputtet er et træk i et skakparti og hvis spillerens modstander har trukket, skal han jo netop have lov til at skrive til basen igen! Og selvom det er uhyre sjældent, kan det forekomme, at det nye træk er det samme som det gamle (fx. i trækfølgen 12. Txd8, Lxd8 13. Txd8); derfor kan jeg heller ikke bare afvise trækket hvis der det samme igen. Og da serveren genererer træknummeret automatisk, kan jeg ikke engang fange det på, at der kommer til at stå træk 12 to gange! :o[
Grunk: Dit forslag ligner et headerkald, men det forstår jeg ikke: Hvordan undgår du, at kaldet bliver en uendelig sløjfe? (det skal måske nævnes, at jeg skriver det dynamiske indhold i PHP).
Grunk: Det har, er jeg ked af at sige, ingensomhelst effekt; der kan stadig uden problemer gensendes parametre fra browseren, hvorved partiet går i hegnet.
Tak for din indsats. Jeg er nu i det mindste overbevist om at det faktisk ikke er muligt at løse dette problem på en god måde! Så ved jeg da det.
Hvis du sender et svar i stedet for en kommentar, får du de 15 pt.
Efter at have taget en grundig koger over det her lille problem, lykkedes det mig at finde en variabel, som stiger med een, hvis der er tale om et nyt træk, men ikke hvis der bare gensendes.
Derefter var det et simpelt spørgsmål om at køre en if ($chknr==$var) { print("Det må du ikke, dit fjols!"); die; }
Tak for indsatsen til Grunken!
Synes godt om
Ny brugerNybegynder
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.