-2

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

我对 PHP 真的很陌生,我正在做一个学校项目,所以这里有任何帮助。

基本上它归结为:有什么方法可以验证我从表单收到的输入。既然我假设有,我想知道哪种方法。

所有信息都进入数据库,但即使电话号码不是 int(8),它也会注册它。

数据库与 MySQL。

4

2 回答 2

1

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

数据库:

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

PHP:

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

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

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

  1. 用于电话号码验证的综合正则表达式
  2. 使用正则表达式验证电子邮件地址

客户端:

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

于 2012-12-02T03:32:10.773 回答
0

查看 jquery 验证 .. 但这仍然会让您打开错误数据进入 PHP,然后进入数据库。

你在使用框架吗?他们中的许多人都有数据验证器,您可以在发送到数据库之前在发送到数据库时运行这些验证器- 然后进行相应处理

于 2012-12-02T05:57:09.217 回答