PDA

View Full Version : [PHP] La pagina è scaduta


Mitzuashi
08-04-2004, 12:29
Ciao a tutti, eccomi nuovamente a chiedere consigli.

Stò sviluppando un sito di computer, dove ovviamente l'utnte può visualizzare l'elenco dei pezzi, eseguire ricerche e inserire i prodotti in un carrello.
Il mio problema nasce quando l'utente ha la grande idea di schiacciare il tasto Backspace o la freccina per tornare alla pagina precedente.:muro::muro::muro::muro:

In questo caso una bella pagina avvisa:

Avviso: la pagina è scaduta
La pagina richiesta è stata creata utilizzando le informazioni inviate dall'utente in un modulo. La pagina non è più disponibile. Per precauzione, Internet Explorer non invierà automaticamente le informazioni.

Da quanto riportato sopra sembra che il problema sia dei dati dei moduli che non vengono rinviati. Ordunque mi chiedo, c'è un modo per forzare il browser ad eseguire automaticamente il refresh, oppure stò sbagliando io qualcosa nell'invio dei dati..

Io uso come metodo il POST attraverso campi nascosti.

Non so se sono riuscito a spiegarmi (se lo rileggo mi mando a quel paese da solo), ma sarò lieto per qualunque info mi mandiate. Ho cercato anche nel newsgroup di it.comp.www.php ma non ho trovato niente, ed idem in internet.

Arriciao e ancora Grazie.

Mitzuashi
08-04-2004, 17:07
Come da titolo, sono un cretino, se prima leggeessi e pensassi anzichè scrivere, risolverei molte cose.

Il prblema l'ho risolto spulciando la guida di php on line e mettendo il comando "session_cache_limiter('public');" ad inizio pagina.

Ora non mi costringe più a fare refresh quando eseguo un history.back.

Il mio problema adesso è solo di carattere logico. A cosa vado incontro mettendo questo public??????

Non è che come al solito ho trovato la soluzione che poi mi permette di incasinare il mondo intero??????

Grazie a tutti per la collaborazione.

Max 555
09-04-2004, 13:07
Penso nessun problema enorme..

unica cosa, ovviamente, se vengono modificati dei dati e si fa il back vedrai i dati "vecchi" e magari un utente puoi confodersi,mentre se forsi il reload non hai questo problema.

e' un caso limite :P

Mitzuashi
09-04-2004, 17:32
Ciao Max 555,
per il problema del cache_limiter ho scoperto che mi tiene memorizzato in cache le pagine (come dicevi tu), quindi non mi è utile in quanto anche quando riaccedo alla pagina tramite link (non col tasto back) continua a vadermi la vecchia cachata.

Invece ho scoperto facendo un po di prove una cosa stranissima.

Ho condotto in questo modo la prova:
Ho inserito in una pagina pho un semplice form con method post ed un bottone di submit. Il bottone ricaricava la pagina.
Allora eseguendo questa pagina (con session_start() in testa) ho questa situazione:

Se clicco la prima volta sul bottone e poi torno indietro mi ci fa tornare senza problemi, e così all'infinito, ammesso che faccia un click e un backspace.
Se invece clicco sul bottone, e poi nuovamente sul bottone, tornando indietro mi dice pagina scaduta.

Sembra quasi che alla seconda volta che invia i dati non sia più capace di rinviarli da solo.
Ho provato anche nel sito che stò facendo, e anche li, finchè passo ad una pagina con un solo click, il ritorno alla pagina precedente funziona senza problemi, ma quandoeseguo una seconda operazione di submit, addio pagina precedenet.

Premetti che adesso ho modificato tutto via get e quindi funzia tranquillamente, però la cosa mi sembra abbastanza anomala.

Comunque sia grazie a tutti.