发布空变量PHP

时间:2014-07-02 15:57:29

标签: php mysql

有没有办法在发布空PHP变量时不显示错误消息?我正在接受并拒绝预订,我在表格中有两个复选框:

echo "<form action='ConfirmAcceptance.php' method='post'>";
    while($check = mysql_fetch_array($pending)){    
?>
    <tr>
    <input name='approve[]' type='checkbox' value="<?php echo $check['R_No']?>">
    '<input name='decline[]' type='checkbox' value="<?php echo $check['R_No']?>">
    <td><?php echo $check['ID_No']?></td> 
    <td><?php echo $check['F_Name']?></td> 
    <td><?php echo $check['L_Name']?></td> 
    <td><?php echo $check['Req_Unit']?></td> 
    <td><?php echo $check['Mob_No']?></td> 
    <td><?php echo $check['E_mail']?></td> 
    <td><?php echo $check['Ev_Name']?></td> 
    <td><?php echo $check['v_name']?></td>  
    <td><?php echo $check['Office_Approval_Status']?></td>
    <td><input type='text' name='comments[]' value=' '/></td>
    </tr>
    <?php
    }

    echo"<input type='submit' value='Approve' class='Log'>";
    ?>

    </table>

这里是confirmmacceptance.php,我发布了我的内容:

$status="Approve";
$status2="Decline";
$reservation= $_POST['Approve'];
$decline=$_POST['decline'];
$comments=$_POST['comments'];

当我没有检查被拒绝的项目时,它显示一个错误项目,因为POST变量为空是否有办法不发布错误消息?提前谢谢!

3 个答案:

答案 0 :(得分:4)

设置error_reporting(0);

但是如果你在实际使用之前使用isset($var) 检查变量会更好。

参考

http://www.php.net/manual/en/function.error-reporting.php

http://www.php.net/manual/en/function.isset.php

答案 1 :(得分:3)

肯定有办法

你可以这样做

if(isset($_POST['Approve']) && !empty($_POST['Approve'])){
    $reservation= $_POST['Approve'];
}

答案 2 :(得分:2)

使用isset和三元运算符确保在未传递参数时不进行调用:

$reservation= isset($_POST['Approve']) ? $_POST['Approve'] : 'DEFAULT_VALUE_HERE';

如果你感觉懒惰,请创建一个函数来包装这样的行为:

function p($arg, $default = '') {
    return isset($_POST[$arg]) ? $_POST[$arg] : $default;
}

$reservation = p('Approve', 'NOT PASSED');
$decline = p('decline');