Bạn đang thực hiện PHP theo cách thủ tục ở đây. Điều đó có nghĩa là các câu lệnh được thực thi lần lượt nên vấn đề nằm ở cách bạn đặt các câu lệnh của mình.
Trong mã của bạn, bạn đang hiển thị biểu mẫu trước và chỉ sau đó cập nhật biểu mẫu, vì vậy đó là lý do tại sao các giá trị trước đó được tìm nạp mặc dù cập nhật chỉ diễn ra sau đó.
Giải pháp: Hàm save_edits()
và lệnh gọi của nó phải đến trước, sau đó là edit_page().
Một điều quan trọng khác về mặt bảo mật, bạn đang trực tiếp chèn giá trị bạn nhận được từ thanh địa chỉ. Hiện tại theo cách của nó, ai đó có thể bỏ toàn bộ bảng của bạn bằng cách viết vào một đoạn mã
. Bạn có thể sử dụng mysql_real_escape_string()
để ngăn chặn nó (mặc dù không hoàn toàn) hoặc tốt hơn:
Vui lòng không sử dụng mysql_*
các chức năng trong mã mới
. Chúng không còn được duy trì nữa và chính thức không được dùng nữa
. Xem hộp màu đỏ
? Tìm hiểu về báo cáo chuẩn bị
thay vào đó, và sử dụng PDO
hoặc MySQLi
- bài viết này
sẽ giúp bạn quyết định. Nếu bạn chọn PDO, đây là một hướng dẫn tốt
.
Cuối cùng, bạn không đóng <form>
của mình thẻ.