简化我的PHP代码:表单处理文件



我想知道是否可以在我的表单处理文件中简化这部分代码:

    <?php
    if(isset($_POST) && isset($_POST['form3_prenom']) && isset($_POST['form3_nom']) && isset($_POST['form3_email']) && isset($_POST['form3_telephone']) && isset($_POST['form3_message'])) {
    extract($_POST);
    if(!empty($form3_prenom) && !empty($form3_nom) && !empty($form3_email) && !empty($form3_telephone) && !empty($form3_message)) {} 
}
    ?>
始终

设置$_POST

isset可以接受多个参数。

检查

变量后,无需再次检查它们。

if( isset($_POST['form3_prenom'], $_POST['form3_nom'], $_POST['form3_email'], $_POST['form3_telephone'], $_POST['form3_message'])) {
    extract($_POST);
    // do stuff
}

是的,像这样:

$expected_fields = array('form3_prenom', 'form3_nom', 'form3_email', 'form3_telephone', 'form3_message');
$error = false;
foreach($expected_fields as $field) {
    if(empty($_POST[$field])) $error = true;
}
if($error) {
    echo 'A field is empty...';
}

顺便说一句:检查issetempty是没有必要的。引用 php 文档:

如果变量不存在,则不会生成警告。这意味着 empty() 本质上是 !isset($var) ||$var == 假。

最新更新