0

我有一个相对简单的问题。

使用 PHP 会保证表单始终以使用 PHP 编码的方式进行验证吗?

这是...如果您执行以下操作:

if (strlen($_POST['myInput'] == 0)
{
    Do this...
}

无论用户使用什么客户端,它都适用吗?例如 IE、Firefox、移动设备(黑莓、三星)、Linux 浏览器?

我问这个的原因是因为我根本看不到应用 html 验证的意义pattern

任何有关这方面的意见将不胜感激。谢谢!

编辑:

if (!preg_match("#^([0-9 ]{10,13})?$#", $_POST['myInput']))
{
    // Apply error pointers
    $_SESSION['myInputError'] = 'class="badInput" autofocus="autofocus"';

    include "$docRoot/html/forms/reg/user_info.html.php";
    exit();
}
4

2 回答 2

3

答案是肯定的,PHP 由服务器而不是客户端运行,因此它将始终以相同的方式处理输入。因此,除非您根据客户端的浏览器编写特定代码以使其行为不同,否则它将以相同的方式处理输入。

于 2012-06-18T20:07:58.817 回答
2

服务器端的验证应保证表单始终得到验证。因此,如果您只有时间开发一个,请选择服务器端验证。

也就是说,客户端验证很有用,因为每个表单字段都可以在用户填写时单独进行实时验证,因此他们可以更快地判断他们是否填写正确。

于 2012-06-18T20:10:57.260 回答