Zde děláte PHP procedurálním způsobem. To znamená, že příkazy se provádějí jeden po druhém, takže problém spočívá ve způsobu umístění příkazů.
Ve vašem kódu nejprve zobrazíte formulář a teprve poté jej aktualizujete, proto se načítají předchozí hodnoty, ačkoli aktualizace probíhá až později.
Řešení: Funkce save_edits()
a jeho volání by mělo být na prvním místě následované edit_page().
Další důležitá věc z hlediska zabezpečení, přímo vkládáte hodnotu, kterou získáte z adresního řádku. Právě teď, jak to je, může někdo zahodit celý váš stůl napsáním kus kódu
. Můžete použít mysql_real_escape_string()
jak tomu zabránit (i když ne úplně) nebo ještě lépe:
Prosím, nepoužívejte mysql_*
funkce v novém kódu
. Již nejsou udržovány a jsou oficiálně ukončeny
. Viz červený rámeček
? Další informace o připravených prohlášeních
místo toho a použijte CHOP
nebo MySQLi
- tento článek
vám pomůže rozhodnout, které. Pokud zvolíte PDO, zde je dobrý návod
.
A konečně nezavíráte svůj <form>
tag.