javascript警告不会弹出php echo

时间:2017-05-02 12:28:12

标签: javascript php html

我想在用户上传文件时显示弹出提醒 我有1个php文件,其中包含php脚本和html表单,当我单击提交按钮时,文件已保存。但是包含javascript警报的echo函数不会弹出。任何人都可以帮助我吗?

这是我的代码

<?php 
if(isset($_POST["btnSubmit"]))
{
    if($_FILES["photo"]["name"])
    {
        $name = $_FILES["photo"]["name"];
        $size = $_FILES["photo"]["size"];
        $type = $_FILES["photo"]["type"];
        if(!$_FILES["photo"]["error"])
        {
            move_uploaded_file($_FILES["photo"]["tmp_name"], "uploads/coba2.jpg");
            $msg = "Upload Berhasil\nFile Name: $name\nSize: $size bytes\nType: $type";
        }
        else
        {
            $msg = "Upload ERROR: " . $_FILES["photo"]["error"];
        }
    }
    else
    {
        $msg = "No File Uploaded";
    }
    if(isset($msg))
    {
        echo "<script type=\"text/javascript\">alert(".$msg.");</script>";
    }       
}?>


<!DOCTYPE html>
<html>
<head>
    <title>Coba Upload</title>
</head>
<body>
    <h3>Select File to Upload</h3><br>
    <form method="POST" action="#" enctype="multipart/form-data">
        <input type="file" name="photo" size="50"><br>
        <input type="submit" name="btnSubmit" value="Unggah Foto">  
    </form>
</body>
</html>

我想知道为什么包含javascript警报的回声不会弹出。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

msg需要正确包含在alert的引号内,因此请更改:

{
  echo "<script type=\"text/javascript\">alert(".$msg.");</script>";
}  

要:

{
  echo '<script type="text/javascript">alert("'.$msg.'");</script>';
}  

或者,继续使用转义引号(urgh!):

{
  echo "<script type=\"text/javascript\">alert(\"".$msg."\");</script>"
}