ここでは、手順に従ってPHPを実行しています。つまり、ステートメントは次々に実行されるため、問題はステートメントの配置方法にあります。
コードでは、最初にフォームを表示してから更新するだけなので、更新は後でのみ行われますが、以前の値がフェッチされるのはそのためです。
解決策: 関数save_edits()
その呼び出しは最初に来て、次にedit_page().
が続くはずです。
セキュリティの観点からもう1つ重要なことは、アドレスバーから取得した値を直接挿入することです。現在のところ、誰かがと書き込むことで、テーブル全体を削除できます。コードの一部
。 mysql_real_escape_string()
を使用できます それを防ぐために(完全ではありませんが)、またはそれ以上に:
mysql_*
は使用しないでください 新しいコードの関数
。それらはもはや維持されておらず、正式に非推奨になっています
。 赤いボックスを参照してください
? プリペアドステートメントについて学ぶ
代わりに、PDO
を使用してください 、または MySQLi
-この記事
どちらを決めるのに役立ちます。 PDOを選択した場合は、こちらが優れたチュートリアルです
。
最後に、<form>
を閉じていません タグ。