Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的批处理验证数据_Php_Mysql_Validation_Forms - Fatal编程技术网

PHP中的批处理验证数据

PHP中的批处理验证数据,php,mysql,validation,forms,Php,Mysql,Validation,Forms,我正在构建一个表单向导,需要一些关于如何以最有效的方式验证来自多个表单的大量传入数据的建议 我最初的方法是通过一个验证器函数来运行传入的数据,验证器函数将检查该表单的特定值,并确保存在和必需的字段,为某些表单提供正确的输入名称/值,电子邮件对某些字段有效,整数对其他字段有效等等。但我的代码开始失控。我想知道我是否应该为这类事情使用数据库,因为我的应用程序中有各种各样的用户数据 基本上,用户可以选择三条不同的路径,每条路径至少有3个步骤,最多有6个步骤,具体取决于选择的路径 我真的可以用任何方式来

我正在构建一个表单向导,需要一些关于如何以最有效的方式验证来自多个表单的大量传入数据的建议

我最初的方法是通过一个验证器函数来运行传入的数据,验证器函数将检查该表单的特定值,并确保存在和必需的字段,为某些表单提供正确的输入名称/值,电子邮件对某些字段有效,整数对其他字段有效等等。但我的代码开始失控。我想知道我是否应该为这类事情使用数据库,因为我的应用程序中有各种各样的用户数据

基本上,用户可以选择三条不同的路径,每条路径至少有3个步骤,最多有6个步骤,具体取决于选择的路径

我真的可以用任何方式来构建它,只要它有意义。我对原生PHP解决方案或连接到数据库持开放态度


我非常感谢您的建议。

我将发布一个答案,希望能有所帮助



这样,您就可以检查每个值,然后执行查询。。。不知道它有多大帮助

我会发布一个答案,希望它会有帮助



这样,您就可以检查每个值,然后执行查询。。。不知道这有多大帮助

如果我理解正确,您的问题来自您必须提供的大量数据,以及在处理的每一条输入中检查哪些内容

一种方法是为每种类型的验证(例如所需的文本、号码、电话、电子邮件等)设置验证器函数,并在HTML中的表单元素中指定要在每个元素中检查的内容,并在提交时对其进行解析。您必须使用
名称
字段,因为除了
之外,这是随表单提交的唯一其他内容

假设您有一个必需的phonenumber字段。您可以用HTML将其写出来,如下所示:

<input type="text" name="officephone[required_phonenumber]" value="">

您的表单处理程序将知道,任何以“phone”开头的内容都应验证为电话号码,然后相应地使用。这样,您就不必展示如何验证HTML中的数据。

如果我理解正确,您的问题来自于您必须提供的大量数据,以及在处理的每个输入中检查哪些内容

一种方法是为每种类型的验证(例如所需的文本、号码、电话、电子邮件等)设置验证器函数,并在HTML中的表单元素中指定要在每个元素中检查的内容,并在提交时对其进行解析。您必须使用
名称
字段,因为除了
之外,这是随表单提交的唯一其他内容

假设您有一个必需的phonenumber字段。您可以用HTML将其写出来,如下所示:

<input type="text" name="officephone[required_phonenumber]" value="">

您的表单处理程序将知道,任何以“phone”开头的内容都应验证为电话号码,然后相应地使用。这样,您就不必展示如何在HTML中验证数据。

我很欣赏您的努力,但我的场景比您提供的答案复杂得多,因为我很欣赏您的努力,但我的场景比您提供的答案复杂得多,因为这有点主观。如果性能是个问题,请远离数据库。失控,你必须重新考虑如何在现有的应用程序上完成事情。我不确定你的评论到底是什么意思。这有点主观。如果性能是个问题,请远离数据库。失控,您必须重新考虑如何在现有应用程序上完成工作。我不确定您的评论到底是什么意思。谢谢您的回答。我对这种方法很熟悉,但正如你提到的,它不是故障安全的。我遇到的最大问题是用户提供的数据量。我知道如何验证输入的姓名、电子邮件、电话号码等信息流,但用户有能力提交约30个不同的选项,而且它们不一定很容易组合在一起-有些有字符限制,有些是必需的,有些只允许有一个布尔值等。我需要一个更大规模的解决方案。您必须尽可能地对它们进行分组,然后找到一种方法,通过上面HTML元素中的标记或一些巧妙的元素命名来指示将哪些验证器应用于每个输入。在任何情况下,表单处理器都需要了解传入数据,可以通过猜测数据本身,也可以使用您将提供的提示。我不知道我还能在这方面提供什么帮助。我感谢你的意见,我可能会使用你的建议,并在html中使用数组。谢谢你的回答。我对这种方法很熟悉,但正如你提到的,它不是故障安全的。我遇到的最大问题是用户提供的数据量。我知道如何验证输入的姓名、电子邮件、电话号码等信息流,但用户有能力提交约30个不同的选项,而且它们不一定很容易组合在一起-有些有字符限制,有些是必需的,有些只允许有一个布尔值等。我需要一个更大规模的解决方案。您必须尽可能地对它们进行分组,然后找到一种方法,通过上面HTML元素中的标记或一些巧妙的元素命名来指示将哪些验证器应用于每个输入。在任何情况下,表单处理器都需要了解传入数据,可以通过猜测数据本身,也可以使用您将提供的提示。我不知道我还能在这方面提供什么帮助。我感谢你的意见,我可能会使用你的建议,并在html中使用数组。谢谢
<input type="text" name="phone_1" value="">