Vous faites PHP de manière procédurale ici. Cela signifie que les instructions sont exécutées les unes après les autres, donc le problème réside dans la façon dont vous placez vos instructions.
Dans votre code, vous affichez d'abord le formulaire, puis vous le mettez à jour. C'est pourquoi les valeurs précédentes sont récupérées bien que la mise à jour ne se produise que plus tard.
Solution : La fonction save_edits()
et son appel doit venir en premier suivi de edit_page().
Autre chose importante en termes de sécurité, vous insérez directement la valeur que vous obtenez de la barre d'adresse. À l'heure actuelle, quelqu'un peut supprimer toute votre table en écrivant dans un bout de code
. Vous pouvez utiliser mysql_real_escape_string()
pour l'empêcher (mais pas totalement) ou mieux encore :
Veuillez ne pas utiliser mysql_*
fonctions dans le nouveau code
. Ils ne sont plus maintenus et sont officiellement obsolètes
. Voir la encadré rouge
? En savoir plus sur les relevés préparés
à la place, et utilisez PDO
, ou MySQLi
- cet article
vous aidera à décider lequel. Si vous choisissez PDO, voici un bon tutoriel
.
Enfin, vous ne fermez pas votre <form>
balise.