假设条件
您有一个带有各种输入HTML表单。 表单的action属性指向包含以下代码的PHP文件。
有关代码的注意事项
此代码首先创建一个数组,该数组保存通过POST提交的各种输入的名称 。 然后调用getFormData() ,并在其中传递必填字段。在函数内部创建一个数组,以保存与表单相关的各种数据。 $ formData ['valid']是一个布尔值引用,如果所有数据均已提供且有效,则$ formData ['fields']是一个数组,该数组以输入名称为键,并带有来自POST数据的相应值$ formData ['notValidFields ']是一个数组,其中将包含未传递或具有无效数据的所有输入的名称。
可以使用正则表达式轻松扩展此逻辑,以检查更严格的数据,例如电子邮件地址和url。
<?php
$requiredFields = array('field1', 'field2', 'field3', 'field4');
$formData = getFormData($requiredFields);
function getFormData($requiredFields){
$formData = array();
$formData['valid'] = true;
$formData['fields'] = array();
$formData['notValidFields'] = array();
for($a = 0; $a < count($requiredFields); $a++){
$field = $requiredFields[$a];
if(isset($_POST[$field])){
$value = $_POST[$field];
if(empty($value)){
$formData['valid'] = false;
$formData['notValidFields'][] = $field;
}else{
$formData['fields'][$field] = $value;
}
}else{
$formData['valid'] = false;
$formData['notValidFields'][] = $field;
}
}
return $formData;
}
翻译自: https://css-tricks.com/snippets/php/post-validation-loop/