Javascript 如果表单字段与数据库结果匹配,则上载文件-DropzoneJS

Javascript 如果表单字段与数据库结果匹配,则上载文件-DropzoneJS,javascript,php,jquery,html,dropzone.js,Javascript,Php,Jquery,Html,Dropzone.js,今天我在这里发布了一篇关于DropzoneJS和PHP的文章 我需要的是: 提交时上载的文件 要与其他表单字段一起提交的表单 仅当特定表单字段与数据库结果匹配时才上载的文件 现在,文件一放在页面上就被上传,即使我使用的是autoProcessQueue:false,。我需要在提交时上传该文件,我已经在Stack Exchange上查看了几个示例和相关问题,但没有结果。下面我列出了我所拥有的一个缩小版。非常感谢您的帮助。非常感谢。请帮忙 dropzone index.php: <form

今天我在这里发布了一篇关于DropzoneJS和PHP的文章

我需要的是:

  • 提交时上载的文件
  • 要与其他表单字段一起提交的表单
  • 仅当特定表单字段与数据库结果匹配时才上载的文件
现在,文件一放在页面上就被上传,即使我使用的是
autoProcessQueue:false,
。我需要在提交时上传该文件,我已经在Stack Exchange上查看了几个示例和相关问题,但没有结果。下面我列出了我所拥有的一个缩小版。非常感谢您的帮助。非常感谢。请帮忙

dropzone index.php:

<form id="uploadform" class="dropzone" action="dropzone-upload.php" method="POST" enctype="multipart/form-data">
    <input type="email" id="emailto" name="emailto" value="something@something.com">
    <input type="email" id="emailfrom" name="emailfrom" placeholder="Enter your email">
    <textarea name="message" id="message" placeholder="Message to the receiver"></textarea>
    <div class="dropzone-previews"></div>
    <button type="submit" class="btn btn-default">Submit</button>
</form>
<script type="text/javascript">
    $(document).ready(function(){   
        function validateEmail(email) {
            var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
            return re.test(email);
        }
        Dropzone.autoDiscover = false;
        Dropzone.options.uploadForm = {
            acceptedFiles: "image/jpeg,image/jpg,image/png,image/gif,image/bmp,application/pdf",
            maxFilesize: 50,
            autoProcessQueue: false,
            uploadMultiple: true,
            parallelUploads: 5,
            maxFiles: 5,
            addRemoveLinks: true,
            previewsContainer: ".dropzone-previews",
            dictDefaultMessage: '',
            init: function() {
                var myDropzone=this;
                this.element.querySelector("button[type=submit]").addEventListener("click", function(e){
                    var email = $("#emailfrom").val();
                    if (validateEmail(email)) {
                        e.preventDefault();
                        e.stopPropagation();
                        myDropzone.processQueue();
                    }else{
                        $('#emailvalid').html('<input type=\"email\" class=\"form-control input-sm\" id=\"emailfrom\" name=\"emailfrom\" placeholder=\"Enter your email\" required style=\"border-color:red;\">');
                    }
                });
            }
        }
    });
</script>

提交
$(文档).ready(函数(){
功能验证电子邮件(电子邮件){
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
返回重新测试(电子邮件);
}
Dropzone.autoDiscover=false;
Dropzone.options.uploadForm={
acceptedFiles:“image/jpeg、image/jpg、image/png、image/gif、image/bmp、application/pdf”,
最大文件大小:50,
自动处理队列:false,
uploadMultiple:true,
并行上传:5,
最大文件数:5,
addRemoveLinks:是的,
PreviewContainer:“.dropzone预览”,
默认消息:“”,
init:function(){
var myDropzone=this;
this.element.querySelector(“按钮[type=submit]”)。addEventListener(“单击”,函数(e){
var email=$(“#emailfrom”).val();
如果(验证邮件(电子邮件)){
e、 预防默认值();
e、 停止传播();
myDropzone.processQueue();
}否则{
$('#emailvalid').html('');
}
});
}
}
});
dropzone upload.php

$emailfrom = strtolower(htmlspecialchars(strip_tags($_POST['emailfrom'])));
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' && !empty($_POST['emailfrom'])){
    $dbc = ...;
    $query = "SELECT...";
    $stmt = sqlsrv_query($dbc, $query);
    if ($stmt != null && sqlsrv_has_rows($stmt) === TRUE){
        $row = sqlsrv_fetch_array($stmt);
        if(strtolower($row['Email']) == $emailfrom){
            $ds = DIRECTORY_SEPARATOR;

            $storeFolder = 'uploads';
            $digits = '';

            $amountOfDigits = 4;
            $numbers = range(0,9);
            shuffle($numbers);

            for($i = 0;$i < $amountOfDigits;$i++){
               $digits .= $numbers[$i];
            }

            if (!empty($_FILES)) {
                var_dump($_FILES);
                $tempFile = $_FILES['file']['tmp_name'];

                $targetPath = dirname( __FILE__ ) . $ds . $storeFolder . $ds;

                $targetFile = $targetPath . time() . '-' . $digits . '-' . $_FILES['file']['name'];
                move_uploaded_file($tempFile, $targetFile);
            }
        }
    }
}
$emailfrom=strtolower(htmlspecialchars(strip_标签($_POST['emailfrom']));
如果(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])和&strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])='xmlhttprequest'&&!empty($_POST['emailfrom'])){
$dbc=。。。;
$query=“选择…”;
$stmt=sqlsrv_查询($dbc,$query);
如果($stmt!=null&&sqlsrv_有行($stmt)==TRUE){
$row=sqlsrv\u fetch\u数组($stmt);
if(strtolower($row['Email'])==$emailfrom){
$ds=目录\分隔符;
$storeFolder='uploads';
$digits='';
$amountOfDigits=4;
$numbers=范围(0,9);
洗牌(数字);
对于($i=0;$i<$amountOfDigits;$i++){
$digits.=$number[$i];
}
如果(!空($\u文件)){
变量转储($\u文件);
$tempFile=$\u FILES['file']['tmp\u name'];
$targetPath=dirname(_文件).$ds.$storeFolder.$ds;
$targetFile=$targetPath.time()。'-'.$digits'.-'.$\u文件['file']['name'];
移动上传的文件($tempFile,$targetFile);
}
}
}
}