警告错误消息被多次显示


Alert error message gets displayed multiple times

代码如下:

    if(isset($_FILES['hiddenfilebutton'])){
            $img_name = $_FILES['hiddenfilebutton']['name'];
            $img_temp = $_FILES['hiddenfilebutton']['tmp_name'];
            $a = explode('.',$img_name);
            $allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
            $img_extension = strtolower(end($a));
            unset($a);
            $img_size = $_FILES['hiddenfilebutton']['size'];
            if($img_size > 3000000) {
                $error = 'Image should be less than 4 MB';
            } else if(!in_array($img_extension, $allowed_ext)) {
                $error = "Unsupported image format";
            }
        }
    ?>
    <script type="text/javascript">
        if('<?php echo $error; ?>' != '' && '<?php echo $error; ?>' != undefined) {
            alert("<?php echo $error; ?>");
        }
    </script>

问题是,每当我上传不支持的图像类型(如。tiff图像)时,就会显示警告框。这是我想要的。但是如果我重新加载它,那么它会再次显示带有相同消息的警告框。我第三次装子弹的时候也没出现。我想提醒消息只显示一次,而不是两次或三次…

更改代码为:

<?php 
if(isset($_FILES['hiddenfilebutton'])){
        $img_name = $_FILES['hiddenfilebutton']['name'];
        $img_temp = $_FILES['hiddenfilebutton']['tmp_name'];
        $a = explode('.',$img_name);
        $allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
        $img_extension = strtolower(end($a));
        unset($a);
        $img_size = $_FILES['hiddenfilebutton']['size'];
        if($img_size > 3000000) {
            $error = 'Image should be less than 4 MB';
        } else if(!in_array($img_extension, $allowed_ext)) {
            $error = "Unsupported image format";
        }
    }
if(isset($error)){
?>
    <script type="text/javascript">
        alert("<?php echo $error; ?>");
    </script>
<?php
} 
?>

<?php 
 if(isset($_FILES['hiddenfilebutton'])){
        $img_name = $_FILES['hiddenfilebutton']['name'];
        $img_temp = $_FILES['hiddenfilebutton']['tmp_name'];
        $a = explode('.',$img_name);
        $allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
        $img_extension = strtolower(end($a));
        unset($a);
        $img_size = $_FILES['hiddenfilebutton']['size'];
        if($img_size > 3000000) {
            $error = 'Image should be less than 4 MB';
        } else if(!in_array($img_extension, $allowed_ext)) {
            $error = "Unsupported image format";
        }
    }
if(isset($error)){
    echo "<script type='text/javascript'> alert('<?php echo $error; ?>'); </script>";
} 
?>