Я пытаюсь отправить форму по электронной почте при загрузке файла с помощью dropzone. Данные должны быть отправлены вместе с загруженным файлом при нажатии кнопки. Пока что я могу получить файл для загрузки и отправить электронное письмо вместе с ним, однако всякий раз, когда я пытаюсь получить доступ к данным формы, я получаю ошибку сервера 500.
Вот мой код:
HTML Форма
<div class="container pt-5">
<div class="row">
<div class="col-md-8 m-auto">
<form action="./upload.php" class="dropzone" id="myDropzone" method="POST"></form>
</div>
<div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="Enter name" required />
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Enter email" required />
</div>
<div class="form-group">
<label for="comment">Comment</label>
<input type="text" class="form-control" id="comment" name="comment" placeholder="Enter comment" required />
</div>
<input class="btn btn-success" id="upload" type="submit" value="Upload">
</div>
</div>
Скрипт Dropzone:
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone(".dropzone", {
autoProcessQueue: false,
parallelUploads: 10
});
$('#upload').click(function() {
myDropzone.processQueue();
});
PHP:
<?php
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = time()."-".strtolower(str_replace(" ","-",$fileName));
$target_path = "../uploads/".$targetFile;
$name = $_POST['name'];
$email = $_POST['email'];
$email_content = "
Name: $name
Email: $email
File: $targetFile";
if(move_uploaded_file($source_path, $target_path)) {
echo "File uploaded successfully";
$to_email = 'myEmail@email.com';
$subject = 'File Submission Upload';
//$message = "Their is a new submisssion from $_POST['name'] .$email .$comment .$targetFile 'HUMM'";
$headers = 'From: someEmail@email.com;
mail($to_email, $subject, $email_content, $headers);
}
}
?>
Я искал вокруг, но не нашел ничего, что относится непосредственно к моей ситуации. Кто-нибудь может дать несколько советов?