Avatar billede brian_lundgaard Nybegynder
02. februar 2002 - 13:07 Der 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?)?
Avatar billede grunken Nybegynder
02. februar 2002 - 13:15 #1
hmm, kender det, og det er skide irreterende

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
Avatar billede 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.
Avatar billede brian_lundgaard Nybegynder
02. februar 2002 - 13:30 #3
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[
Avatar billede brian_lundgaard Nybegynder
02. februar 2002 - 13:35 #4
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).
Avatar billede grunken Nybegynder
02. februar 2002 - 13:59 #5
<script>
funktion reload() {
  setTimeout("location.replace('./densammefil.asp')", 300)
}

lad os antage at det er en <form>

<input type "submit" onclick="reload()">

så er det lissom undgået!, og selvfølgelig har du en begrænsning så de ikke kan sende en tom form !

-Grunken
Avatar billede brian_lundgaard Nybegynder
02. februar 2002 - 14:35 #6
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.
Avatar billede grunken Nybegynder
02. februar 2002 - 14:56 #7
brian >

det er knælme mærkeligt, det virker her!

ligeså snart den bliver replacet  kan den jo ikke refreshes!, prøver altså lige at finde på en løsning til dig!

-grunken
Avatar billede brian_lundgaard Nybegynder
02. februar 2002 - 15:51 #8
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!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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