Robisz tutaj PHP w sposób proceduralny. Oznacza to, że instrukcje są wykonywane jedna po drugiej, więc problem leży w sposobie, w jaki je umieszczasz.
W swoim kodzie najpierw wyświetlasz formularz, a dopiero potem go aktualizujesz, dlatego poprzednie wartości są pobierane, chociaż aktualizacja następuje dopiero później.
Rozwiązanie: Funkcja save_edits()
a jego wywołanie powinno nastąpić jako pierwsze, a następnie edit_page().
Kolejną ważną rzeczą z punktu widzenia bezpieczeństwa jest to, że bezpośrednio wstawiasz wartość, którą otrzymujesz z paska adresu. Teraz tak, jak jest, ktoś może upuścić cały stół, pisząc w kawałek kodu
. Możesz użyć mysql_real_escape_string()
aby temu zapobiec (choć nie całkowicie) lub jeszcze lepiej:
Proszę, nie używaj mysql_*
funkcje w nowym kodzie
. Nie są już utrzymywane i są oficjalnie przestarzałe
. Zobacz czerwone pole
? Dowiedz się więcej o przygotowanych wyciągach
zamiast tego i użyj PDO
lub MySQLi
- ten artykuł
pomoże Ci zdecydować, które. Jeśli wybierzesz PDO, oto dobry samouczek
.
Wreszcie, nie zamykasz swojego <form>
tag.