Ho una pagina, index.php, che mostra informazioni basate su un mysql db. Ci sono forme su di esso e l'azione per le forme è impostata su una pagina separata chiamata process.php. Process.php fa tutto il materiale CRUD del database, quindi usaCome forzare la pagina a non essere memorizzata nella cache in PHP?
header("Location: /webadmin/email/index.php");
per inviare l'utente alla pagina originale.
Sembra funzionare correttamente, tranne il fatto che la pagina indice originale non riflette sempre le modifiche apportate da process.php. Presumo che la pagina sia in cache, perché se faccio un aggiornamento (Ctrl + F5), la pagina mostrerà i dati più recenti.
Come posso evitare che la pagina venga memorizzata nella cache? Ho provato what the PHP page for header() says, ma non sembra funzionare. Le opzioni Cache-Control and Expires sembrano non avere alcun effetto - la pagina è ancora in cache.
Aggiornamento
Ok, mi è stato parzialmente sbagliato. A quanto pare, il seguente funziona in IE:
<?php header("Cache-Control: no-cache, must-revalidate");
Tuttavia, non è sicuramente lavorando in FF, che è ancora mostrando una versione in cache. Qualche idea sul perché questo è, e su come posso farlo smettere di fare il caching?
cattiva notizia: http://blogs.imeta.co.uk/JDeabill/ archivio/2008/07/14/303.aspx – danii
Apparentemente è stato corretto, ma scommetto che ci sono alcune versioni ff che hanno esperienza di questo comportamento –
Sto usando l'ultima versione di FF, e continuo a vedere questo comportamento, a meno che non aggiungo un quoystring falso alla fine dell'URL. – croceldon