【问题标题】:If the form has an error. How do I create an alert with error? [PHP, XHTML]如果表格有错误。如何创建有错误的警报? [PHP、XHTML]
【发布时间】:2016-03-25 07:31:59
【问题描述】:

我想做,但不知道怎么做:

我有我的表格: - 条件:如果发生错误,则会收到带有红色警报的消息。

表单使用 POST 方法,并重定向到另一个文件进行必要的咨询。

    <?php   
$nickname = $_POST['nickname'];
$email = $_POST['email'];
$amount = $_POST['amount'];
$captcha = $_POST['captcha'];

    if ($nickname && $email && $amount) {
        if ($captcha == 19) {       
            mysql_query("INSERT INTO donations(nickname, email, amount) VALUES('$nickname', '$email', '$amount') ");

            echo "<script>
            alert('Thanks you!');
            window.location.href='http://example.com';
        </script>";
    }else{
        echo "<script>
            alert('Incorrect captcha!');
            window.location.href='http://example.com/';
        </script>";
    }
    }else{
        echo "<script>
        alert('Please, complete all fields!');
        window.location.href='http://example.com';
    </script>";
    }


    mysql_close();



    ?>

所以:我希望消息出现在制作表单的同一页面上,使其看起来像图像一样的消息。用它们各自的颜色,错误或成功。

简单示例:https://gyazo.com/56457e697f2d4459a71d04d3198889e7 但是有:[填写所有字段] [发送满意]

提前致谢, 亚历克斯。

【问题讨论】:

    标签: php mysql html xhtml


    【解决方案1】:

    因此,雅虎登录表单的情况是,当用户单击Next 按钮时,该页面不会将完整的form 发布到“咨询页面”(页面不会重新加载)。它的作用是页面本身使用了Javascript,并在“咨询页面”中创建了XMLHttpRequest,并提供了详细信息,并且只从“咨询页面”获取结果。

    这种技术被称为“AJAX”,它已经存在了 2 多年。看看这里 w3school 提供的非常简单的教程:http://www.w3schools.com/ajax/


    XMLHttpRequest 对于现实世界的使用来说可能太简单了。因此,大量的 Javascript 框架为开发人员提供了包装器,让他们可以在没有浏览器兼容性问题的情况下使用这种技术。这样的包装器就像著名的jQuery.ajax,可以做很多很酷的事情,你可以利用。

    对于您的问题,您需要执行以下操作:

    • 当用户单击按钮提交表单时,您调用 Javascript 函数而不是提交表单,以发布到您的第二个“页面”
    • 对其负责的页面应该正常接收您在调用中提交的所有参数。如果你做一个post,你应该通过$_POST得到它。
    • 然后页面负责检查数据、执行任务并将响应发送回被调用方。
    • 发布帖子的原始页面将收到响应,您可以采取相应的行动,例如显示警报,或在页面本身上执行任何相关操作。

    脚注:

    世界变化非常快。现代 Javascript 开发比这个 ajax 调用要复杂得多。这只是我们过去数十年来一直使用的一种简单技术。

    【讨论】:

    • 我感觉到了延迟。感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多