[PHP + MySQL] Se faccio F5 inserisce nuovo record. Come bloccare?

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
Ciao a tutti,

so che si tratta di un titolo un pò oscuro ma adesso cerco di spiegarmi meglio. Ho un form in cui inserisco dei dati che vengono salvati in una tabella MySQL. Ora, la struttura che ho creato è questa:

FORM -> QUERY -> REDIRECT A PAGINA ELENCO

Se io sono sulla pagina ELENCO e premo F5 (quindi aggiorno la pagina) mi viene rieseguita la query e di conseguenza mi viene inserito nuovamente lo stesso record. Ho provato ad assegnare al vettore $_POST dei valori NULL ma se faccio F5 mi inserisce dei valori vuoti.

Come faccio quindi ad evitare questo problema?
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Ciao a tutti,

so che si tratta di un titolo un pò oscuro ma adesso cerco di spiegarmi meglio. Ho un form in cui inserisco dei dati che vengono salvati in una tabella MySQL. Ora, la struttura che ho creato è questa:

FORM -> QUERY -> REDIRECT A PAGINA ELENCO

Se io sono sulla pagina ELENCO e premo F5 (quindi aggiorno la pagina) mi viene rieseguita la query e di conseguenza mi viene inserito nuovamente lo stesso record. Ho provato ad assegnare al vettore $_POST dei valori NULL ma se faccio F5 mi inserisce dei valori vuoti.

Come faccio quindi ad evitare questo problema?

Domanda: visualizzi i dati nella stessa pagina della query?
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
Ciao,

allora, io ho un'unica pagina in cui richiamo da un file funzioni.php le varie funzioni e le mando in esecuzione richiamando la funzione che mi interessa. Struttura di esempio

home.php

switch funzione
case aggiungi:
inserisci();
break;
case elenco:
elenco();
break;
case salva:
salva();
break;


e via così per tutte le istruzioni che mi servono.
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Una volta inseriti i file potresti reindirizzare a una pagina con un messaggio e poi ritornare alla pagina principale

Se la tua query va a buon fine allora vieni indirizzato alla pagina dati_inseriti.php
PHP:
header("Location: http://www.tuosito.it/dati_inseriti.php");

Nella pagina dati_inseriti.php
PHP:
echo "Dati inseriti correttamente!"

header("Location: http://www.tuosito.it/index.php");

Aspetta anche un consiglio da qualcuno più esperto :byebye:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse puoi intervenire intercettando il tasto premuto con js, vedi
http://www.lukeonweb.net/leggi/363/...di_un_tasto_della_tastiera_con_javascript.asp
in modo da verificare se hai premuto il submit o F5
prova comunque anche a googlare "intercettare tasto tastiera" mi sembra che ci sia qualcosa anche in ajax
da quello che ho capito non ci sono metodi con php, del resto è giusto perchè php è lato server e il server non ha la tua tastiera
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Perché non invii tramite form un valore di sessione che distruggi in ricezione?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Perché non invii tramite form un valore di sessione che distruggi in ricezione? .
io c'ho provato, ma nun funzia (o almeneno a me non è riuscito). quando premi f5 riaggiorni e la sessione si ricrea:crying:
secondo me la via migliore è verificare l'esitenza del record

p.s.
quello che mi piace di "pausa caffè" che non ti dice se ha trovato una soluzione
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Codifica caratteri speciali mysql php PHP 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
Z MySql injection PHP PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
L Google chart php mysql PHP 2
L Aiuto per programma web php/mySQL PHP 2
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
L update tabelle in php mysql [risolto] PHP 6
F Passare una variabile php dal DB mysql alla pagina PHP 3
B Fare calcoli con php da tabella mysql PHP 2
D [MySQL] [PHP] SQL andare da capo MySQL 0
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
Tommy03 Firebase o PHP+Mysql? Sviluppo app per Android 0
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
E Cerco programmatore PHP/Mysql - retribuito Offerte e Richieste di Lavoro e/o Collaborazione 0
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
E Inserimento dati da PHP in tabella MySQL PHP 5
R radio input php mysql PHP 2
E Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript? PHP 1
giusebos [retribuito] Cercasi programmatore PHP/MySql Offerte e Richieste di Lavoro e/o Collaborazione 1
N Apache + MySQL + PHP MacOs Mojave Web Server 0
T PHP+MYSQL: problema con quelle maledette lettere accentate... PHP 5
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
webmachine [PHP][MYSQL] Problema con le SELECT PHP 5
V Creare tabella mysql con php non funziona PHP 1
W Area riservata sicura PHP MySQL PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
xone [Vendo] Gestionale Magazzino PHP-MYSQL Altri Annunci 0
M Stampare con php e mysql PHP 8
P Importazione dati da file xml in db mysql con php PHP 17
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
D problemi login php 5.6 mysql PHP 1
T PHP+MYSQL: stampare record con numero progressivo PHP 3
F php PDO mysql connessione(select_db) PHP 3
O paginazione php mysql PHP 10
Fede72 Controllo registrazioni PHP Mysql PHP 5
M Aggioranre record in tabella PHP MYSQL PHP 2

Discussioni simili