Файл загрузки Dropzone вместе с данными формы html при нажатии кнопки - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь отправить форму по электронной почте при загрузке файла с помощью 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);
    }
}

?>

Я искал вокруг, но не нашел ничего, что относится непосредственно к моей ситуации. Кто-нибудь может дать несколько советов?

...