在PHP中应用业务逻辑之前,处理表单数据的好方法是什么?

在PHP中应用业务逻辑之前,处理表单数据的好方法是什么?,php,validation,Php,Validation,我认为这是一个共同的问题 只要网页上有表单,后端就会有一个PHP文件处理表单发送的数据。从$\u POST开始,您需要确保输入元素的名称没有被伪造、增加或减少,并且您希望确保没有输入元素保留为空,并且您还需要转义引号,因此您可能需要使用isset(),empty(),mysql\u real\u escape\u string()或其他函数,在将业务逻辑应用于这些数据之前执行此例行工作 做这项日常工作的最佳方式是什么 我想写更少的代码,让它更健壮 也许没有最好的办法,但至少有好办法。怎么做 为了

我认为这是一个共同的问题

只要网页上有表单,后端就会有一个PHP文件处理表单发送的数据。从
$\u POST
开始,您需要确保输入元素的名称没有被伪造、增加或减少,并且您希望确保没有输入元素保留为空,并且您还需要转义引号,因此您可能需要使用
isset()
empty()
mysql\u real\u escape\u string()
或其他函数,在将业务逻辑应用于这些数据之前执行此例行工作

做这项日常工作的最佳方式是什么

我想写更少的代码,让它更健壮

也许没有最好的办法,但至少有好办法。怎么做

为了方便起见,假设存在诸如
用户名、密码、标题、内容、问题、答案、单价等数据

如果我不使用任何PHP框架怎么办

该组件提供了一种很好的、健壮的、可重用的方法来完成这类任务。

正如前面提到的。。。如果你真的只关注过滤和验证部分,你就不必使用(有时)臃肿而复杂的
Zend\u表单界面
。您可以使用,它实际上是
Zend_Form
而不使用表单(渲染部分)。您可以使用与
Zend_表单
中相同的过滤器和验证器,但要更简洁


但是每个PHP框架都应该有自己的输入组件,所以用您喜欢使用的框架的适当组件替换
Zend_Form
/
Zend_Filter_input

我将添加第二个答案,因为这与我针对Zend框架的第一个答案无关


如果你不想使用框架,如果你的PHP>=5.2.0,你可以使用扩展,它实际上至少具有框架过滤和验证组件的大部分重要功能。

IMHO使用Zend_表单只是为了进行输入验证而增加了很多膨胀。但我也非常反对zend。这么说来,这是一个有效的选项,所以+1。@MitMaro:是的,你是对的,你还可以呈现表单并进行一些模板(视图),
Zend_Validate
将与验证部分匹配得更多,但我并不真的喜欢必须设置每个验证程序并检查其状态的想法,因此,使用
Zend_Form
而不使用渲染部分会更好IMHO@Steven当前位置我想说你可以做你自己的课程和工具,但那有点白费力气重新发明油井。Zend框架的构造方式是,您不必使用所有东西,您只能使用您感兴趣的部分,因此如果我是,我会尝试一下you@RageZ,Zend框架可能很好,但如果我使用它,我必须停下来花很多时间学习它。成本learning@Steven:当然可以,但您认为构建工具集需要多少时间?或多或少?我认为每个PHP框架都有自己的表单验证机制。选择一个并使用它。您可以从Zend框架中提取
Zend_Filter_Input
,并将其作为一个独立组件使用,或者查看我的第二个答案。