-1

同じphpスクリプトを使用している2つのフォームを含むhtmlページを取得しました..

<?php

    if ($conn) {
        if (isset($_POST['form_student'])) {
            if ($_POST['form_student'] == 'Send') {
                if (!empty($_POST["Ime"]) && !empty($_POST["Prezime"]) && !empty($_POST["BrojIndeksa"]) && !empty($_POST["TipNastave"])) {
                    header('Location: forme.html');
                    echo "<script>alert('Processing data to sql.');</script>";
                } else {
                    echo 'You didnt fill all fields!';
                    echo "<script>alert('You didn't fill all fields!');</script>";
                }
            }
        } 
        if (isset($_POST['form_subject'])) {
            if ($_POST['form_subject'] == 'Send') {
                // same checks just like above with redirecting
                // and displaying alert box
            }
        }
    }

?>

最初の問題は、すべてのフィールドに入力しないと機能し、「すべてのフィールドに入力しませんでした!」というメッセージが表示されることです。しかし、警告ボックスのメッセージは表示されず、すべてのフィールドに入力しないと機能しません。そして、そのphpスクリプトページにリダイレクトせずに、実際にphpスクリプトを処理して、htmlページにメッセージボックスを表示するにはどうすればよいのでしょうか。それはajaxやjqueryなしで可能ですか、代わりにhtml拡張子をphpに変更する必要があります。そこですべてのチェックを行い、スクリプトを action="" に処理しないようにしますか?

4

1 に答える 1

0

それは行のせいです..

echo "alert('すべてのフィールドに入力していません!');";

代わりにこれを試してください..

echo "alert(\"すべてのフィールドに入力していません!\");";

あなたが間違っていたのは、文字列と文字列の周りにアポストロフィがあったことです。これを説明する方法がわかりませんが、php エコーと競合しないように 2 つの引用符を付けただけです。

アップデート:

リダイレクトなどに関する2番目の質問について。言葉が分からないので詳しく説明していただけますか?

于 2013-05-16T16:16:15.650 に答える