我想知道是否可以在表单处理文件中简化这部分代码:
<?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)) {}
}
?>
答案 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:无需检查isset
和empty
。引用php documentation:
如果变量不存在,则不会生成警告。这意味着 empty()本质上是!isset($ var)||的简洁等价物$ VAR == false。