あなたは POST リクエストをまったく行っていません
あなたのコメントの1つから(簡潔にするためにメッセージが変更されたことを確認してください):
<script language="javascript">
<!-- Confirm Dialog Box for deletion -->
function ConfirmChoice() {
answer = confirm("Are you sure?")
if (answer !=0) {
location = "recipe7.php"
}
}
</script>
つまり、質問での使用方法を考えると、ユーザーがフォーム内の何かをクリックするとすぐに、次の2つのうちの1つだけが発生することをlocation
意味します。document.location
- 何もない
- ユーザーがリダイレクトされます
recipe7.php
ワーキングソリューション
<script language="javascript">
function ConfirmChoice() {
return confirm("Are you sure?");
}
</script>
<form action='recipe7.php' method='post' onsubmit='return ConfirmChoice();' >
<input type='hidden' name='delete_dish' value='" . $row['dishname'] . "'>
<input type='image' src='images/delete2.png' alt='Submit' name='delete2' value='delete2'>
</form>
2 つの違いは次のとおりです。
- 送信するはずの場所にフォームを送信する
- クリックではなく、onsubmit を使用してユーザーにプロンプトを表示します。
フォームの送信時のコールバックが falsey を返す場合、フォームの送信は中止されます。
追加ポイント
JavaScript のコメント
形式は次のとおりです。
// this is a comment
/* this is a
multiline
comment */
<!-- asdf -->
JavaScript ブロックでのHTML コメント ( ) の使用は無効です。
デフォルトで js がなくても動作するようにします。
必要のないときに js を有効にした場合にのみ機能する機能を作成すると、複雑さが増すだけです。代わりに、js なしで動作するようにしてから、必要な (最小限の) js 機能を後で追加します。
この原則に固執すると、次の 2 つの結果が生じます。
- Js ロジックはより単純です (少ないため)
- js エラーが発生した場合でも動作します。