Originariamente inviato da WebHosting.it
L'alternativa sarebbe di creare un session cookie con un valore quando appare la form, e poi cancellare questo valore quando la form è inviata.
Così lo script può controllare l'esistenza del cookie prima di procedere.
grazie così ho risolto al 90%.
nel senso che i dati NON vengono piu reinviati:
Codice PHP:
if(isset($_POST['commenta']) && $_POST['commenta'] == 'Aggiungi commento'){
if(isset($_COOKIE['commento']) && $_COOKIE['commento'] == 'inviato'){
$updt = mysql_query("UPDATE foto SET commento='".addslashes($_POST['commento'])."' WHERE id_foto='".$_POST['hid_foto']."' LIMIT 1");
if($updt){
echo "<script language='javascript'> alert(\"Commento inserito con successo\");</script>";
}
else{die(mysql_error());}
unset($_POST['commenta']);
$_POST['commenta'] == '';
setcookie('commento','',-3600);
unset($_COOKIE['commento']);
}
}
avendo generato un cookie con un javascript :
codice:
function biscotto(){
document.cookie="commento=inviato";
}
...
<form>
...
<input type='submit' name='commenta' value='Aggiungi commento' onclick='biscotto();'>
</form>
l'unica scocciatura che mi è rimasta è che mi rimane il messaggio di avvertimento del browser che vorrei evitare...
come si può ovviare?
grazie