Undgå besked

Tags:    php

<< < 12 > >>
Hejsa.
Kender i det at når man har skrevet en kommentar eller har logget ind på en side og man derefter opdaterer siden at der så kommer en boks som spørger om den skal udfører mysql koden igen. Håber i forstår hvad jeg snakker om.

Har fået spat af den nu :D Selvfølgelig vil man ikke lave det igen. Så kommer man jo bare til måske at doppelposte eller andet. Kan man ikke undgå det på en måde?



13 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
"siden indeholder POSTDATA".. ja den kender vi vist alle sammen. Det er dog ikke altid den er unyttig. Fx hvis man har søgt på en side, har kigget på et af resultaterne, og så vil TILBAGE for at se de andre resultater ;)



Du kunne lave sådan at et vindue popper op og lukker efter antal sekunder.



Måden der bliver forklaret i forummen du linker til at ligesom Per Sikker Hans. Iden virker kan jeg godt regne ud, men havde nu håbet i en kode som ikke ses.

Kunne man ikke efter at have brugt Postdataet så slette det og på den måde undgå det vil ske igen (for der ingen data)!


Der står da også en kode:

Now if you hit 'refresh' the browser assumes you want the same page
refreshed, the one that was produced as a result of your posting.

One simple way to 'fix' this (because nothing is wrong) is:
page1.php contains form
set the action to page1_process.php

page1_process.php
receives the form, does its stuff like databaseinserts.
Do not create ANY output.
End you script with something like this:

$result = urlencode("Thanks for posting!");
header ("Location: page1.php?result=".$result);



And in page1.php you could display the result if it exists in the
$_GET["result"]



Som troels også skriver er det bare et spørgsmål om at sende brugeren videre:)



Klart. Men i visse eksempler, såsom ligeefter at man har oprettet en kommentar. Opdaterer man eller går tilbage til den vil den så oprette endnu en kommentar. Og det er da provokerende. Så vil jeg hellerer lade mine besøgende være fri for de overvejelser!

Er det muligt et eller andet clear post?



Tja. Vil jeg ik. For det skal helst være usynligt.

Hvad gør kasper her på udvikleren.dk? Her ser man det nemlig ikke :D
Har ASP ikke sådan en besked :S



Tja. Vil jeg ik. For det skal helst være usynligt.

Hvad gør kasper her på udvikleren.dk? Her ser man det nemlig ikke :D
Har ASP ikke sådan en besked :S

Det er ikke serversiden, men derimod browseren der laver meddelelsen. Prøv at søge på '"double post" php'.

Edit: prøv at kigge her http://www.codecomments.com/archive227-2006-2-820342.html



Indlæg senest redigeret d. 04.05.2006 17:58 af Bruger #4479
Måden der bliver forklaret i forummen du linker til at ligesom Per Sikker Hans. Iden virker kan jeg godt regne ud, men havde nu håbet i en kode som ikke ses.

Kunne man ikke efter at have brugt Postdataet så slette det og på den måde undgå det vil ske igen (for der ingen data)!



Jeg mener du kan undgå det, ved at ændre location i header Data, men jeg vil ikke ligge hovedet på blokken for det...

//Tröels



Jeg er ret sikker på at POSTDATA tages med over headeren. Det mener jeg bestemt at jeg har brugt flere gange før, men jeg kan ikke huske det helt præcist. Men jeg er ret sikker.

Man kan dog sikker lave noget header-programmering der sletter disse POSTDATA. Hvordan er jeg slet ikke inde i. Men som udgangspunkt indeholder headeren POSTDATA... (så vidt jeg ved)



Det er da bare provokerende at siden så skal loade to gange for brugeren. Hvordan gør de her på udvikleren? :S

Havdet håber der fandtes andre metoder!



<< < 12 > >>
t