Avatar billede joha0147 Nybegynder
29. oktober 2004 - 01:15 Der er 7 kommentarer og
1 løsning

undgå F5 update

hvordan undgår man at en handling sker 2 gange på grund af at brugeren opdatere(trykker F5) i f.eks. et forum, hvor han lige har postet ?
Avatar billede acid-head Nybegynder
29. oktober 2004 - 01:23 #1
Jeg plejer at lave en form, som sender inputs'ne til en anden fil, fx action.php, som så laver hvad den skal (typisk gemmer noget i en database), og som så sender brugeren tilbage på den oprindelige side.. Så kan vedkommende opdaterer helt tosset :)
Avatar billede mollevp Nybegynder
29. oktober 2004 - 02:12 #2
eller brug get som method istedet for post... men så kan folk self. se din variabler
Avatar billede Slettet bruger
29. oktober 2004 - 09:33 #3
Folk kan også stadig opdatere en form hvis du bruger get. Eneste vej frem er det som acid-head foreslår.
Avatar billede prec Nybegynder
29. oktober 2004 - 14:51 #4
man behøver nu ikke 2 filer for at gøre det der blev sagt, du har bare din php i starten af din fil, der er så funktion der startes hvis formen er sendt, og så når den er færdig med alt laver du:
header("Location: xxx");
return;
Avatar billede olebole Juniormester
01. november 2004 - 06:56 #5
<ole>

Ikke 'return', men 'exit' - så eksekveringen ophører:

header("Location: ".$_SERVER["PHP_SELF"]);
exit;

/mvh
</bole>
Avatar billede olebole Juniormester
01. november 2004 - 07:02 #6
PS: Om man bruger én eller to filer gør ingen forskel. Her på E bruger man to filer ... 'response.php' hedder filen, der opdaterer databasen. Du kan i formen lave et hidden felt:
    <input type="hidden" name="retPage" value="<?=$_SERVER["PHP_SELF"]?>">

Så skriver du i den fil, du poster til - lige efter, du har opdateret databasen:

header("Location: ".$_POST["retPage"]);
exit;

Så bliver brugeren sendt tilbage til siden med formen og kan her opdatere så meget han vil.
Avatar billede joha0147 Nybegynder
11. november 2004 - 21:11 #7
ok skal jeg lige fatte ordenligt, hvordan skal jeg lave det på en side ?
Avatar billede joha0147 Nybegynder
11. november 2004 - 21:11 #8
ahh har forstået
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