Javascript 警报错误消息将显示多次

Javascript 警报错误消息将显示多次,javascript,php,Javascript,Php,代码如下所示: if(isset($_FILES['hiddenfilebutton'])){ $img_name = $_FILES['hiddenfilebutton']['name']; $img_temp = $_FILES['hiddenfilebutton']['tmp_name']; $a = explode('.',$img_name); $allowed_ext = arra

代码如下所示:

    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>
if(设置($\u文件['hiddenfilebutton'])){
$img_name=$_文件['hiddenfilebutton']['name'];
$img_temp=$_文件['hiddenfilebutton']['tmp_name'];
$a=分解('.',$img_名称);
$allowed_ext=array('jpg','jpeg','png','gif');
$img_extension=strtolower(end($a));
未结算(a美元);
$img_size=$_文件['hiddenfilebutton']['size'];
如果($img_尺寸>3000000){
$error='映像应小于4MB';
}else if(!in_数组($img_扩展,$allowed_ext)){
$error=“不支持的图像格式”;
}
}
?>
如果(“”!=“”&&“”!=未定义){
警报(“”);
}
问题是,每当我上传不受支持的图像类型(如.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>";
} 
?>

什么是
$error
?如果是空的怎么办?在HTML源代码中,您将看到
如果(!=''&&!=未定义)
?这不是应该的。重新加载意味着??是否重新提交表单?请尝试直接从php代码.ie发出警报。回音“js代码”;显示上载图像的表单…如果我重新加载它,它仍然显示“不支持的图像格式”从该链接下载文件您需要确保文件已提交到表单。验证表单,以便用户选择要上载的文件。您可以使用HTML5
required
属性强制用户选择文件<代码>