Du gör PHP på det procedurmässiga sättet här. Det betyder att satserna exekveras en efter en så problemet ligger i hur du placerar dina satser.
I din kod visar du formuläret först och först sedan uppdaterar det, så det är därför de tidigare värdena hämtas även om uppdateringen sker först senare.
Lösning: Funktionen save_edits()
och dess anrop bör komma först följt av edit_page().
En annan viktig sak när det gäller säkerhet, du sätter direkt in värdet du får från adressfältet. Just nu som det är kan någon släppa hela din tabell genom att skriva i en kodbit
. Du kan använda mysql_real_escape_string()
för att förhindra det (men inte helt) eller ännu bättre:
Snälla, använd inte mysql_*
funktioner i ny kod
. De underhålls inte längre och är officiellt utfasade
. Se den röda rutan
? Läs mer om förberedda uttalanden
istället och använd PDO
, eller MySQLi
- denna artikel
hjälper dig att bestämma vilken. Om du väljer PDO, här är en bra handledning
.
Slutligen stänger du inte din <form>
tag.