javascript - 从 php 重定向后无法运行 <Script>

标签 javascript php html

我有两个名为index.php 和uploadcover.inc.php 的文件。一切工作正常,除了如果上传因任何 if-else 条件失败而执行的脚本标记除外。这是代码:

index.php =>

      <form action="include/uploadcover.inc.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="cover-upload" style="display:none" onchange="this.form.submit();">
        <label for="cover-upload" class="fa fa-camera fa-2x" aria-hidden="true"></label>
      </form>

uploadcover.inc.php =>

<?php
session_start();
include_once 'dbh.inc.php';
$sessionid = $_SESSION['u_id'];

    $filename = "../profile/cover".$sessionid.".*";
    $fileinfo = glob($filename);
    $fileExt= explode('.',$fileinfo[0]);
    $fileActualExt= $fileExt[3];
    $file = "../profile/cover".$sessionid.".".$fileActualExt;
    if(!unlink($file)){
      echo "File not deleted";
    } else {
      "File deleted";
    }

    $sql = "UPDATE coverimg SET status=1 WHERE user_id='$sessionid';";
    mysqli_query($conn,$sql);

  $file= $_FILES['file'];
  $fileName= $file['name'];
  $fileTmpName= $file['tmp_name'];
  $fileSize= $file['size'];
  $fileError= $file['error'];
  $fileType= $file['type'];

  $fileExt = explode('.',$fileName);
  $fileActualExt = strtolower(end($fileExt));

  $allowed = array('jpg','jpeg','png','gif');

  if(in_array($fileActualExt,$allowed)){
    if($fileError=== 0){
      if($fileSize<3145728){
        $fileNameNew = "cover".$sessionid.".".$fileActualExt;
        $fileDestination = '../profile/'.$fileNameNew;
        move_uploaded_file($fileTmpName,$fileDestination);
        $sql = "UPDATE coverimg SET status=0 WHERE user_id='$sessionid'";
        mysqli_query($conn,$sql);
        header("Location: ../index.php?upload=success");
      } else {
        header("Location: ../index.php?upload=size_exceeded_3MB");
        exit();
        echo "<script>alert('File should be less than 3MB!')</script>";
      }
    } else {
      header("Location: ../index.php?upload=error");
      exit();
      echo "<script>alert('Error uploading the file!')</script>";
    }
  } else{
    header("Location: ../index.php?upload=typeerror");
    exit();
    echo "<script>alert('Filetype not supported!')</sc
    ript>";
  }

注意:我尝试了 die()、exit() 并删除了它们,以防它在重定向到 index.php 后执行脚本,但它不起作用。

最佳答案

重定向告诉客户端他们要查找的原因可以在不同的 URL 中找到。然后,客户端请求其他 URL 并显示该文档。

您不能同时说“这是您应该显示的文档”和“您应该显示的文档可以在这里找到”。二者择其一。

关于javascript - 从 php 重定向后无法运行 <Script>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47123902/

相关文章:

javascript - jquery 无法从保存的 `visible` 中获取 `jquery object` 元素

javascript - 检查字符输入时正则表达式的小问题

javascript - 为什么 SoundCloud API 会导致循环以不同的顺序列出数据

php - 在 Laravel 5 的存储库中使用构造函数注入(inject)有什么好处?

php - 使用正则表达式删除相同类型的 html 嵌套标签的最终解决方案?

html - 如何在缩放屏幕时让输入不动

javascript - HTML 5 Canvas 元素无法在 .setInterval 方法中正确设置动画

javascript - 更改 netbeans 中单个文件的语法突出显示

c# - 如何在 ASP .NET MVC 5 View 中重命名 confirm() 按钮?

javascript - 将 div 保存为 png - html2canvas - 模糊质量