-2

所以我有两个问题。我想首先知道是否有可能以这种方式做事......我有一个 html 页面,其中包含 2 个使用相同 php 脚本的表单。

<?php

    if ($conn) {
        if (isset($_POST['form_student'])) {
            if ($_POST['form_student'] == 'Send') {
                if (isset($_POST['first_name']) && isset($_POST['last_name']) && isset($_POST['student_id']) && isset($_POST['gen'])) {
                    echo "<script>alert('Send information to the database.');</script>";
                } else {
                    echo "<script>alert('You didn't fill in all fields!');</script>";
                }
            }
        } 
        if (isset($_POST['form_subject'])) {
            if ($_POST['form_subject'] == 'Send') {
                if (isset($_POST['subject_id']) && isset($_POST['class_room']) && isset($_POST['day'])) {
                    echo "<script>alert('Send information to the database.');</script>";
                } else {
                    echo "<script>alert('You didn't fill in all fields!');</script>";
                }
            }
        }
    }

?>

好的,所以第一个问题是关于,是否有可能以这种方式处理该操作脚本并在 html 中显示该警报框,而不是将我重定向到 script.php,而不是向我显示消息。第二个问题是,即使我没有填写所有字段,它总是呼应真实,而不是向我展示虚假案例。

4

3 回答 3

0

熟悉 AJAX,它用于在不刷新浏览器的情况下从 php 脚本中获取信息。

关于您的第二个问题,请尝试 empty() 而不是 isset() isset 检查字段是否不为空。

于 2013-05-16T15:22:00.880 回答
0

您可能有兴趣阅读本教程:

http://jorenrapini.com/blog/javascript/the-simple-quick-and-small-jquery-html-form-validation-solution

于 2013-05-16T15:17:33.740 回答
0

调用isset($_POST['paramName'])验证某些东西不起作用。参数将被设置,即使它的empty. (但它已设置!)(例外:未选中的复选框)

因此,您应该isset($_POST['paramName']) && !empty($_POST["paramName"])改用。

对于您的第一个问题:不要针对script.php. 使用相同的目标,包含表单,并将逻辑放在那里(或 INCLUDE script.php)。然后用户将留在页面上,查看消息与否。

于 2013-05-16T15:30:40.840 回答