Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Post/Redirect/GET, dupli submit i sl...

 
Post new topic   Reply to topic    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
tmihetec



Joined: 23 Jan 2006
Posts: 27

PostPosted: 19.02.2011 14:30    Post subject: Post/Redirect/GET, dupli submit i sl... Add user to your forum ignore list Reply with quote

Pozdrav,
evo danas sam zapeo napraviti formu za kontakt... i uzeti u obzir razne situacije u kojima bi se ona mogla naći.

Molim za savjet, koje metode koristite za sprečavanje duplog submita, i "resubmit" pitanja kod "back" gumba nakon submita forme?

ono što sam našao, je PRG i eventualno neka varijanta sa TOKENOM (hidden field u formi + session varijabla...) al imam dosta muke oko toga (iskreno, nemam točno "definirane" te muke, jer sam valjda probao na 37 različitih načina i kombinacija...)

ima li što spretnije? postoji li neki tut. koji možda nisam našao?

hvala!
Tomek
Back to top
View user's profile Send private message
Moebius



Joined: 26 Jan 2004
Posts: 245
Location: zagreb

PostPosted: 19.02.2011 14:47    Post subject: Add user to your forum ignore list Reply with quote

mozda:
probas sa kukijem koji ima expiration na recimo 1 minutu ili sekundu, sto god.
Znaci prvi put submitas formu i odmah postavis kuki, svaki sljedeci submit narednu minutu nece proci jer ces ti u kodu postaviti provjeru da li kuki postoji.
Ako postoji, nema submita, ako ne postoji - pustis ga.
Back to top
View user's profile Send private message Visit poster's website
tmihetec



Joined: 23 Jan 2006
Posts: 27

PostPosted: 19.02.2011 15:16    Post subject: Add user to your forum ignore list Reply with quote

da... nisam tako probao još...

ovo je moj (trenutni) scenarij (bez JS-a):

da sada ne prevodim..

What is Synchronization Token Pattern?
    Add a hidden variable in your pages/forms called as token.
    When page is rendered, set some value to this token, using a counter too.
    Put next counter value in session.
    When the form is submitted, check if the token is equal or less than the value in session, if yes then take appropriate action.


(ovo će sprijećiti dupli sumbit na refreshu)

u skripti koja radi obradu, poruku da je mail poslan ili pak da ima nekih problema, pohranim u session varijablu i vratim se na glavnu stranicu za kontakt kroz GET redirect.

prije ispisa kontakt forme provjerim da li ima šta u toj session varijabli, i ak ima ispišem te je nakon toga ispraznim.

za sada to radi ok.. ako je JS uključen, dodatno prije submita napravim provjere koje me interesiraju.

problem mi je (za sada jednini, al sam tolko vremena ubio danas da ću ga zaboraviti) taj što kad se pritisne "BACK" vraća vrijednosti koje su bile unašane u formu... al ok
tomek
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group