- Home
- Categorie
- Coding e Sistemistica
- PHP
- refresh da bloccare
-
refresh da bloccare
ciao ragazzi qualcuno sa come bloccare il refresh del browser oppure una funzione che non permetta di reinviare i dati con un semplice refresh?
io utilizzo due file distinti, il primo contiene il form mentre il secondo invia i dati a mysql. come posso fare?
-
prova a postare il codice..
io ho risolto una situazione analoga ma dovrei capire cosa ti servirebbe...cmq è suficiente che nella seconda pagina, quella che invia i dati, prima di lanciare i dati al DB verifichi che non siano gia immessi e in caso non siano presenti li inserisca, in caso contrario di un errore che segnali che i dati sono già presenti..
se posti il file php che hai fatto ti invio la modifica
ciao
-
ciao gigi, è un normaissimo script che riceve i post in una variabile e poi li inserisce nel db..
require_once ("head.php");
require_once ("config.php");
$user = $HTTP_SESSION_VARS[id];$id = $row[ID];
$provincia=$_REQUEST['provincia'];
$comune=$_REQUEST['comune'];
$zona=$_REQUEST['zona'];
$contratto=$_REQUEST['contratto'];$provincia = addslashes(stripslashes($provincia));
$comune = addslashes(stripslashes($comune));
$zona = addslashes(stripslashes($zona));
$contratto = addslashes(stripslashes($contratto));$db = mysql_connect($db_host, $db_user, $db_pass);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");// CARICAMENTO DATA
$giorno = date("d",time());
$mese = date("m",time());
$anno = date("Y",time());$query = "INSERT INTO annunci (provincia, comune, zona, contratto) VALUES ('$provincia', '$comune', '$zona', '$contratto')";
if (mysql_query($query, $db)){
require_once ("../../config.php");
@$db = mysql_connect($db_host, $db_user, $db_pass) or die ("non posso connettermi al database");
mysql_select_db($db_name, $db) or die ("non posso connettermi al database");
$prelievo ="SELECT * FROMannunci
WHERE provincia = '$provincia' ORDER BYid
DESC LIMIT 0 , 1";
$risultato = mysql_query($prelievo, $db);while ($row = mysql_fetch_array($risultato)){
}}
mysql_close($db);
include ("foot.php");l'ho un pelo sintetizzata, nel finale mancano i risultati. se si refresha, reinvia i dati memorizzati
-
capito...
adesso non riesco a postarti il codice ma entro stanotte o domani al massimo te lo posto ok?
-
eccoti il codice come io ho risolto il problema:
[PHP]
// per evitare che se uno faccia refresh reinserisca i valori in un nuovo record o che qualcuno si inserisca 2 volte
$punt_db=mysql_connect($host,$user,$psw) or $conn="Errore nella connessione al database&";
mysql_select_db($db,$punt_db) or die("Impossibile raggiungere il database".$db);
$result= mysql_query("SELECT * FROMelenco
WHEREuser
= '$_POST[user]'");
while($record=mysql_fetch_object($result)){
//nome deve essere un valore univoco della tua tabella nel DB
$nome=$record->nome;
}
if ($nome==$_POST[nome]){
echo "<script>alert('Attenzione Risulti essere gia registrato');";
echo "history.back();</script>";
}else{
fai quello che vuoi che succeda se non risulta gia inserito
}
[/PHP]Prova così dovrebbe funzionare... dimmi se è tutto ok!
ciao