PHP检查注册表单上的用户输入?

时间:2012-12-02 03:23:48

标签: php html mysql

好吧所以我没有可以发布的代码,因为这不是与编码直接相关的问题。但是,我想检查一下,如果有人在注册表中输入的电话号码是假设为int(8),如果电子邮件有效(IE包含@并以。结尾。{至少2个字符})或甚至更好的邮件带一些确认电子邮件。

我是PHP的新手,我正在开展一个学校项目,所以这里有任何帮助。

基本上它归结为:是否有任何方法来验证我从表单中收到的输入。由于我假设有,我想知道哪种方法。

所有信息都会转到数据库,但它正在注册,即使它不是说电话号码为int(8)。

数据库是MySQL。

2 个答案:

答案 0 :(得分:1)

这是一个非常广泛的问题,有许多不同的可能答案。这取决于你是否要使用严格的PHP,或者你是否可以使用库。

数据库:

首先,我们从数据库开始。如果mysql允许一组字符进入不是整数的数据库(就像电话号码,即使我永远不会使用整数作为电话号码),那么你的列设置错误。您可以使用DESCRIBE [TABLE_NAME]命令查看表的设置方式。

PHP:

然后,我们进入验证阶段。这里有很多关于验证电子邮件地址或电话号码的参考资料。您将使用preg_filter(或类似)函数。

在发布的表单中,捕获输入并验证它。如果有效,请继续下一页。但是,如果您有错误,请包含并呈现原始表单块,并且(希望)您将编写它以便它将引入$ _POST变量(过滤XSS)。

以下是验证的一些SO结果:

  1. A comprehensive regex for phone number validation
  2. Using a regular expression to validate an email address
  3. 客户端:

    我最喜欢的是另外执行某种类型的客户端验证。这使客户能够在现场修复错误,而不必回发页面以查看错误。

答案 1 :(得分:0)

检查jquery验证..但是这仍然让你打开坏数据到PHP,然后进入数据库。

您使用的是框架吗?其中许多都有数据验证器,您可以在发送到数据库之前运行它,然后再将其发送到数据库 - 然后进行相应的处理

相关问题