Ho necessità di provocare il refresh della pagina ma senza perdere i valori post che aveva la stessa... esattamente come se si premesse il tasto F5 per ottenere il refresh della pagina.
Che istruzione posso usare?
Printable View
Ho necessità di provocare il refresh della pagina ma senza perdere i valori post che aveva la stessa... esattamente come se si premesse il tasto F5 per ottenere il refresh della pagina.
Che istruzione posso usare?
<?php
header("location: $PHP_SELF");
?>
ciao!!
Piccola intrusione: e se avessi necessità del contrario, cioè che aggiornando la pagina i valori di post NON vengano rielaborati?Citazione:
Originalmente inviato da attorianzo
Statemi bene...
prova facendo unset($variabile)
ciao ^__^
Questo dopo che li ho elaborati? Mi spiego meglio: io dovrei fare un inserimento in un database, ma logicamente se si aggiorna la pagina questo non deve avvenire di nuovo. Seguendo quello che dici tu, dovrei fare così:giusto?Codice PHP:
// acquisisci le variabili
$var1 = $_POST["campo1"];
$var2 = $_POST["campo2"];
...
// elabora inserendole nel db
$query = "INSERT INTO Tabella (...) VALUES (...)";
$result = mysql_query ($query, $db);
...
// disimposta le variabili
unset ($_POST["campo1"]);
unset ($_POST["campo2"]);
...
Statemi bene...
Se fai il reload della pagina i valori $_POST a quanto ne so vengono sempre persi, mentre i $_GET permangono per il semplice fatto che son presenti nella URL, e ricaricando la pagina vengono quindi ripassati alla stessa.
Eventualmente, tanto per essere sicuro, setti un cookie una volta inseriti i dati nel db, e fai un controllo: se c'è il cookie non inserisce di nuovo i dati, se non c'è li inserisce e setta il cookie.
Oppure puoi aggiornare la pagina aggiungendo una variabile di tipo GET dopo.
Codice HTML:<script language="Javascript" type="text/javascript">
location="?scrivere=no";
</script>
... le proverò tutte e quattro le soluzioni, poi vi saprò dire... statemi bene...
EDIT: ho seguito una soluzione simile a quella di tuttoeniente2, usando una variabile di sessione apposita.
[4 gve] è vero che i valori di POST vengono persi, ma alcuni browser consentono di reinviare comunque le informazioni, e se trovo il disperato che gli dà conferma...
[4 jostock] unset($variabile) non risolve il problema... per il discorso di cui sopra
[4 funcool] dove avrei potuto metterlo quello script? Il mio problema era che se qualcuno "distrattamente" premesse il pulsante Aggiorna del browser non si sarebbe dovuto verificare l'elaborazione dei post, e con quello script non avrei certo potuto controllarlo...
Statemi bene...