提交表单前,先用jquery检查$ _POST数据

王子

我有一个表单,可以将First Name用户的存储发送到数据库中。我正在检查用户使用regexphp发送的信息为了使我的项目更具交互性,我决定先验证信息,jQuery然后再将其发送到PHP。

我的项目如下所示:

<script type="text/javascript" src="jquery-2.2.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js" type="text/javascript"></script>

<body>
    <form >
        <div>
            <label>First Name</label>
            <input name="firstname" type="text">
        </div>
        <div>
            <input type="submit">
        </div>
    </form>
</body>
</html>

<script>
    $(document).ready(function() {
        
        $("form").submit(function (e) {
            
            var firstname = $(this).find('input[name="firstname"]').val();

            var regex = /^[A-Za-z0-9 \-']+$/;//Only numbers, Letters, dashes, apostrophes and spaces are accepted
            if(regex.test(firstname)){
                alert('Valid Name.');
            }else{
                alert('Invalid Name.');
                e.PreventDefault();
            }
        });
    });
</script>

现在我有两个问题:

  1. First Name在将数据存储到数据库之前,是否真的需要再次检查PHP?(以提高安全性)
  2. 我怎样才能在提交之后立即提交表格alert('Valid Name.');

感谢您的帮助。

dios231

首先要记住,用户输入的验证仅在应用程序的服务器端实现!!!您无法使用JS在客户端验证输入数据,因为它可以非常容易地传递(通过禁用javascript或使用诸如Curl之类的工具)。

但是,您可以增加用户体验,例如在提交表单之前验证输入,或通知用户忘记填写输入。

为了告知用户在输入一个不填你可以使用新的HTML 5的属性required像上面

Username: <input type="text" name="usrname" required>

required除非他已经填写了相关的输入,否则属性将不允许用户提交表单。

您也可以使用该maxlength属性来解决用例,例如“密码必须包含X个最大字母。

Password: <input type="password" name="pass" maxlength="8" size="8"><br>

如何在服务器端验证输入

有很多技术可以在Stackoverflow上找到所有这些技术。我将引用投票最多的帖子。如何防止PHP中的SQL注入?可以准确回答您的问题。

只有两个项目符号可以压缩上述内容,我建议您以其他方式阅读

  • 总是逃避您的数据

  • 使用mysqli代替mysql

我该如何在警报(“有效名称”)之后立即提交表单?

这很简单,只需使用此代码

    <form action="action_page.php" method="post">
    <div>
        <label>First Name</label>
        <input name="firstname" type="text">
    </div>
    <div>
        <input type="submit">
    </div>
</form>

上面的代码将使用POST方法将用户的输入“发送”到action_page.php的过程中,您可以在其中使用$_POST诸如此类的supergloba表进行读取$firstname = $_POST['fistsname']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无需提交的POST表单数据

来自分类Dev

Bootstrap表单提交无法使用$ _POST数据

来自分类Dev

jQuery提交不带表单的POST

来自分类Dev

POST不检查按钮表单提交

来自分类Dev

jQuery表单提交丢失的表单数据

来自分类Dev

提交表单前jQuery检查用户的输入

来自分类Dev

如何检查以HTML表单提交数据的位置?

来自分类Dev

如何通过Post的JQuery获取表单的Post数据?

来自分类Dev

cURL无法提交POST数据

来自分类Dev

jQuery弹出窗口以post方法提交表单

来自分类Dev

jQuery使用method = post提交表单

来自分类Dev

jQuery AJAX表单POST提交问题

来自分类Dev

拦截HTML表单POST数据

来自分类Dev

JavaScript表单提交POST没有数据

来自分类Dev

asp.net提交表单后如何获取post数据

来自分类Dev

发送POST数据并打开填充有Post数据的远程表单

来自分类Dev

提交的多部分/表单数据表单重新加载后丢失 $_POST 数据(Firefox)

来自分类Dev

数据表Jquery无法从表提交POST

来自分类Dev

数据表Jquery无法从表提交POST

来自分类Dev

.submit()附加到动态加载表单的Jquery方法未在除IE之外的浏览器中提交任何“ POST”数据

来自分类Dev

PHP 表单数据检查提交按钮名称

来自分类Dev

提交表单前检查值

来自分类Dev

POST(HTTP)+ jQuery:如何发送特定的表单数据?

来自分类Dev

jQuery $.post() 无法上传文件和表单数据

来自分类Dev

使用POST将数据提交到网站

来自分类Dev

AJAX-提交多个POST数据

来自分类Dev

nginx不接受POST表单数据

来自分类Dev

登录表单未创建POST数据

来自分类Dev

没有网络表单的PHP POST数据