Elikkäs, jotenkin pitäisi saada selaimen Back-nappulan käyttö estettyä.
Olen tehnyt PHP+MySQL -yhdistelmällä monisivuisen lomakkeen jossa ei saisi liikkua backillä taakse. Esim. kun minulla on "Poistu" -nappi lomakeessa, niin siitä kun painaa, niin käyttäjä ohjataan jonnekin sivulle. Tässä kohtaa tulee ongelmia kun käyttäjä voi vaan palata edelliselle sivulle selaimen Back-nappulalla.
Tutkailin vähän googlella tätä asiaa ja tuo meta 'expires' juitsu rupesi kiinnostamaan, että onko se hyvä tälläisiin tilanteisiin vai mikä olisi hyvä vaihtoehto?
Meta juitsu -> <META HTTP-EQUIV="expires" CONTENT="Tue, 20 Aug 1996 14:25:27 GMT">
Lähde: http://www.htmlhelp.com/reference/wilbur/head/
Evästeet ei käy tässä tapauksessa kun tämä projekti on 100% evästevapaa.
Sivua tarjotessa voi myös ilmoittaa, että sivua ei saa laittaa cacheen. Tämä on järkyttävän paljon järkevämpää kuin back-nappulan toiminnan estäminen. Käytännössä siis header("jotain jotain")... en jaksa Googlettaa että mikä se tarkka headeri oli. Etuna se, että tätä noudattavat tietääkseni kaikki selaimet mitä maailmasta vaan löytyy, oli JavaScriptiä tai metatukea taikka ei.
Tärkeää on myös ilmoittaa käyttäjälle, että lomakkeen tiedot katoavat jos sivulta poistuu. Jos asia ei käy mistään ilmi, niin se suutututtaa sitten ja paljon.
Joo, periaatteessa koko Back-nappulaa siis ei pidä estää, vain silloin kun lomakkeesta tavallaan kirjaudutaan ulos jotain namitsua painamalla.
On näymmä tullut ajatusvirhe tuossa ensimmäisessä viestissä kun sanoin, ettei saa liikkua taakse ollenkaan.
Löysin tälläisen kikkareen:
header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
Lähde: http://www.thesitewizard.com/archive/
Näyttää toimivan ihan tuolleensa kun pistin jokaisen sivun alkuun. Ainut ongelma tuossa vaan on tuo tyly virheilmoitus, jossa sanotaan sivun olevan vanhentunut. Mitenkä tämän sivun voisi korvata omalla sivulla?
Ihan varma en ole, mutta jos tuon expiren ottaisi pois ja antaisi noiden no-cache -rivien hoitaa homman, niin voisin kuvitella sen toimivan ilman tylyä vanhentumisilmoitusta.
Ja ainahan voisi kiertää (ja helposti) sen, että back-namikan käyttö on estetty.
1. Javascript pois päältä, jos sillä toteutettu.
2. Meta-tuki pois päältä, jos siihen perustuu.
3. Ja muuten vain, javascript:go.back(-1) osoiteriville.
Aihe on jo aika vanha, joten et voi enää vastata siihen.