Как добавить загрузку файла в форму? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть форма, работающая в phpmailer.Когда я нажимаю «отправить», отправляя некоторую информацию на мой электронный адрес, я пытался добавить вложение в эту форму, но безуспешно.

Вот моя форма:

   <form id="contactForm" action="handler.php" method="post" enctype="multipart/form-data">
          <div class="field-block">
            <label for="name">Name:</label>
            <input id="name" class="field" name="name" required type="text" placeholder="Name">
          </div>
          <div class="field-block">
            <label for="message"></label>
            <textarea id="message" class="field" required name="message" rows="4" placeholder=""></textarea>
          </div>
          <label for="">Upload</label>
           <input type="hidden" name="MAX_FILE_SIZE" value="100000"> Send this file: <input name="userfile" type="file">
            <div>
              <input type="hidden" name="Max">
            </div>
          <div class="field-block">
            <input id="check" name="check" checked type="checkbox">
            <span class="check-text">Agree</span>
          </div>
          <button id="button" class="button" type="submit">Submit</button>
        </form>

Handler.php где находитсяобработан процесс отправки:

require_once __DIR__ . '/mailer/Validator.php';
require_once __DIR__ . '/mailer/ContactMailer.php';

if (!Validator::isAjax() || !Validator::isPost()) {
    echo 'access denied!';
    exit;
}

$name = isset($_POST['name']) ? trim(strip_tags($_POST['name'])) : null;
$email = isset($_POST['email']) ? trim(strip_tags($_POST['email'])) : null;
$company = isset($_POST['company']) ? trim(strip_tags($_POST['company'])) : null;
$job = isset($_POST['job']) ? trim(strip_tags($_POST['job'])) : null;
$phone = isset($_POST['phone']) ? trim(strip_tags($_POST['phone'])) : null;
$message = isset($_POST['message']) ? trim(strip_tags($_POST['message'])) : null;



if (empty($name) || empty($email) || empty($phone) || empty($message)) {
    echo '';
    exit;
}

if (!Validator::isValidEmail($email)) {
    echo 'E-mail error.';
    exit;
}

if (!Validator::isValidPhone($phone)) {
    echo 'Error phone';
    exit;
}

if (ContactMailer::send($name, $email, $phone, $message, $company, $job)) {
    echo htmlspecialchars($name) . ', message send succesfully';
} else {
    echo 'error';
}
exit;

?>

Как добавить загрузку файла в эту форму?Форма работает нормально, я добавил несколько кодов в примеры github phpmailer, но все еще форма не отправляет файлы, также у меня есть Contactmailer.php, где я написал некоторые функции о mail.Подскажите пожалуйста, куда добавить код и какой код нужно добавить?

...