如果表单有错误。如何创建有错误的警报? [PHP,XHTML]

时间:2016-03-25 07:31:59

标签: php html mysql html5 xhtml

我想做什么,但我不知道如何制作:

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

alert type

表单使用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 但是:[完成所有领域] [发送令人满意]

提前致谢, 亚历克斯。

1 个答案:

答案 0 :(得分:0)

所以雅虎登录表单的用途是,当用户点击Next按钮时,该页面不会向“咨询页面”发送完整的form帖子(页面确实如此)没有重装)。它的作用是页面本身使用Javascript,并在“咨询页面”中提供XMLHttpRequest,并提供详细信息,并仅从“咨询页面”获得结果。

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

XMLHttpRequest对于现实世界的使用可能过于简单。因此,大量的Javascript框架为开发人员提供了包装器,使用这种技术而没有浏览器兼容性的麻烦。这样的包装就像着名的jQuery.ajax一样,可以做很多你可以利用的很酷的东西。

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

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

脚注:

世界正在快速变化。现代Javascript开发比这个ajax调用要复杂得多。这只是我们过去使用了几十年的一种简单技术。