0

那么如何在服务器端验证表单提交的数据呢?

你做这样的事情:

if($_POST['field_name'] == 'foo')
{
  $error['field'] = 'Please try again';
}

if($_POST['something'] == 'two')
{
  $error['field_2'] = 'Please try again';
}

if($_POST['field_3'] == 'something')
{
  $error['field_3'] = 'Please try again';
}

这是正确的吗?这是最好的解决方案吗?

//LE 编辑

我的问题是,如果这是正确的方法吗?使用大量 if 语句,您可以有 20 个 if 来检查表单?我只是想确保这是正确的方法,如果我使用很多 if 语句不是什么大问题(问题)

4

3 回答 3

3

Not really, I don't think you know what the values should be so this will not work.

You should look at every field to determine what it can be. For numbers you can use functions like is_numeric and for e-mail addresses and urls you can use php's filter functions. For other stuff you can use regular expressions, etc.

于 2012-11-08T22:29:07.097 回答
0

大多数人在编写自己的验证器时都会使用GREP 。验证可以存储在特定于每种类型字段的函数中。

大多数人专注于SQL 注入验证

一个好的框架,如 Code Ignitor,将提供验证机制

于 2012-11-08T22:35:47.367 回答
0

已经有一些预先编写的库(函数、类)来处理 PHP 中的表单验证。

http://www.google.com/search?q=form+validation+php

我怀疑在这一点上,您需要花时间为如此通用的东西编写自定义解决方案。可能您的规则会有所不同,但这都可以使用现有代码进行定制。

(更不用说您可以使用许多 PHP 框架之一,它们都内置了表单生成和验证)。

于 2012-11-08T22:33:40.520 回答