javascript - 检查前端和后端

标签 javascript php

假设我有一个文本输入,我不想为空。我可以通过Js查看并告诉用户消息。

据我所知,这不是很安全,我们也应该检查后端。我的问题是,如果我通过 PhP 检查该字段是否为空,那么我从 PhP 告诉用户的消息是否会与 Js 的消息重叠?

最佳答案

不,它不会相互重叠。您也必须在后端验证它的原因是,如果您禁用 JavaScript,这些前端验证将不起作用。

我会给你一个例子,使用 jQuery Validation Plugin .

假设我们有以下 HTML:

<form id="myform">
    <input type="text" name="field1" />
    <input type="text" name="field2" />
    <input type="submit" />
    <?php $error ? $error : '' ?>
</form>

以及以下 jQuery:

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        rules: {
            field1: {
                required: true,
                email: true
            },
            field2: {
                required: true,
                minlength: 5
            }
        }
    });

});

以及以下 PHP:

$field1 = $_POST['field1'];
$field2 = $_POST['field2'];

// Validate if fields are matching requirements

if (// Validation fails) 
{
    $error = 'Some fields are invalid';
}

这是一些非常糟糕的验证,但它是一个例子。

这样,如果 JavaScript 没有被执行,PHP 将返回 $error 以及错误消息。

如果您不知道$error 是什么? $error : '' 的意思是,它相当于:

if ($error) {
    echo $error;
} else {
    echo '';
}

希望这对您有帮助。

关于javascript - 检查前端和后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559684/

相关文章:

javascript - 无返回值的函数

javascript - 如何通过缩略图悬停来更改上面的图像?

javascript - Bootstrap 多选复选框应该在页面上可见

javascript - IE 中的事件传播

php - 将 Gravatar 实现到自定义评论系统中

php - 嵌套空合并运算符 (??) 如何在 PHP 中工作?需要执行流程的分步说明

php - http 文件访问和 php session

javascript - 来自循环访问变量的 Ajax 请求

php - 如何编辑 vscode 的默认 php linter?

php - PHP 中多行注释内的多行注释