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