Stai facendo PHP in modo procedurale qui. Ciò significa che le istruzioni vengono eseguite una dopo l'altra, quindi il problema risiede nel modo in cui le posizioni.
Nel tuo codice, visualizzi prima il modulo e solo dopo lo aggiorni, ecco perché i valori precedenti vengono recuperati sebbene l'aggiornamento avvenga solo in un secondo momento.
Soluzione: La funzione save_edits()
e la sua chiamata dovrebbe venire prima seguita da edit_page().
Un'altra cosa importante in termini di sicurezza, stai inserendo direttamente il valore che ottieni dalla barra degli indirizzi. In questo momento, così com'è, qualcuno può eliminare l'intera tabella scrivendo in un pezzo di codice
. Potresti usare mysql_real_escape_string()
per prevenirlo (anche se non del tutto) o meglio ancora:
Per favore, non usare mysql_*
funzioni nel nuovo codice
. Non vengono più mantenuti e sono ufficialmente ritirati
. Vedi il scatola rossa
? Ulteriori informazioni sulle dichiarazioni preparate
invece, e usa PDO
o MySQLi
- questo articolo
ti aiuterà a decidere quale. Se scegli PDO, ecco un buon tutorial
.
Infine, non stai chiudendo il tuo <form>
tag.