php - 命中 'back' 时重置复选框值

标签 php html forms

我有一个允许用户将文件上传到文件夹的网站。首先,我检查文件是否存在,如果存在,然后检查复选框的值以确定用户是否要覆盖现有文件。如果点击上传并且未选中该框,我会执行一个带有消息和后退按钮的 die() 。但是,当我回击时,选中复选框(文件仍然显示为已选中),然后再次提交,它不会覆盖文件(但似乎没有死)。当我回击时,复选框的值没有被更改或重置吗?

也许值得一提的是,有一个表单 (if method=post) 和一个表单 (else),但它们完全相同。

有人可以帮帮我吗?谢谢。

这是我的代码:

表格:

<form id='upload' method='post' enctype='multipart/form-data' action='<?php $_server['PHP_SELF']; ?>'>
      <input type='file' name='file_upload'>
      <br><br>
      <label><input type="checkbox" id="overwrite" name="overwrite" value="Yes"> Overwrite file (if file exists)</label>
      <br><br>
      <input type='submit' value="Upload">
      </form>

休息:

if(file_exists($fullFileName)){ 
        $confirmation = $_POST["overwrite"];
        if($confirmation == "Yes") {        
            unlink($fullFileName); //overwrite confirmed, unlink old file
        }
        else {
            die("Upload aborted. Please check 'Overwrite file (if file exists)' box to overwrite existing file&nbsp;&nbsp;<input type='submit'  href='#' onclick='history.back();' value='Back'>");
        }
    }


if(!move_uploaded_file($_FILES['file_upload']['tmp_name'], '' . $_FILES['file_upload']['name'])){ //move new file into place
        die('Errrrrr! Error uploading file - check destination is writeable.');
    }

最佳答案

代替 die(),您可以只执行 PHP header 重定向,这实际上是“清除表单”并且是新页面加载。如果您想保留所选文件,可以将其作为 GET 值传回。

关于php - 命中 'back' 时重置复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281820/

相关文章:

php - CodeIgniter - 引用 URL - 保存在数据库中

html - CSS 中的渐变颜色百分比

python - 如何在Python 3 cgi中将一个页面重定向到另一个页面

php - 如何在 ZF2 中的字段集工厂中使用集合

php - 需要帮助安装 yii2 应用程序高级模板

php - 登录页面中出现错误 symfony - 警告 : gettext()

html - 修复 jQuery Mobile 页面中的页脚

javascript - 在传递到 Flask 应用程序之前编辑表单数据

php - 我在提交帖子时不断收到 23750 作为密码

javascript - 如何使用纯 JavaScript 将 XML 文件中的数据解析为 HTML 表?