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

时间:2014-04-02 13:56:43

标签: 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)) {} 
}
    ?>

2 个答案:

答案 0 :(得分:0)

始终设置

$_POST

isset可以带有多个参数。

一旦您检查了变量,就无需再次检查它们。

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

答案 1 :(得分:0)

是的,就像这样:

$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...';
}

btw:无需检查issetempty。引用php documentation

  

如果变量不存在,则不会生成警告。这意味着   empty()本质上是!isset($ var)||的简洁等价物$ VAR   == false。