[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка прикрепляемого файла в форме
Guffi
Здравствуйте форумчане. У меня такая проблема, есть форма обратной связи и в ней помимо обычных полей для заполнения есть кнопка "Прикрепить файл", все поля проходят простейшую проверку на заполнение, в том числе и кнопка "Прикрепить файл", вот только если посетитель заполнил все поля, но не прикрепил файл к сообщению оно все равно отправляется а на экран выводится сообщение:
Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /home/onlyfive/public_html/contact.php on line 140
я так понимаю оно как раз и сообщает об ошибке, что прикрепленный файл пуст, но сообщение все равно отправляется, а хотелось, что-бы если посетитель не прикрепил файл сообщение не отправлялось, а появлялась просьба все-таки прикрепить файл. Подскажите пожалуйста, как такое можно сделать.
Вот код формы:

<?php
if (isset ($_POST['contactFF'])) {

$output = '<p class="style1">ВАША ЗАЯВКА ОТПРАВЛЕНА!</p>';

$to = "test@mail.ru"; // Поменять на свой адрес
$from = $_POST['contactFF'];
$subject = "Отправлена Заявка с сайта ".$_SERVER['HTTP_REFERER'];
$message = "Имя: ".$_POST['nameFF']."\nEmail: ".$from."\nТелефон: ".$_POST['telefonFF'];

$attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'])));
$filename = $_FILES['fileFF']['name'];
$filetype = $_FILES['fileFF']['type'];

$boundary = md5(date('r', time()));

$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: " . $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"_1_$boundary\"";

$message="
--_1_
$boundary
Content-Type: multipart/alternative; boundary=\"_2_$boundary\"

--_2_$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit

$message

--_2_$boundary--
--_1_
$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment


$attachment
--_1_$boundary--";

mail($to, $subject, $message, $headers);

}
?>

<?php
echo $output; ?>


<form enctype="multipart/form-data" method="post" id="feedback-form">
<
span class="style3">
<
label for="nameFF">Имя:</label>
</
span>
<
input type="text" name="nameFF" id="nameFF" required placeholder="например, Иван Иванович Иванов" x-autocompletetype="name" class="w100 border">
<
span class="style3">
<
label for="contactFF">Email:</label>
</
span>
<
input type="email" name="contactFF" id="contactFF" required placeholder="например, ivan@yandex.ru" x-autocompletetype="email" class="w100 border">
<
span class="style3">
<
label for="nameFF">Телефон:</label>
</
span>
<
input type="text" name="telefonFF" id="telefonFF" required placeholder="например, 1234567" x-autocompletetype="telefon" class="w100 border">
<
span class="style3">
<
label for="fileFF">Прикрепить файл:</label>
</
span>
<
input type="file" name="fileFF" id="fileFF" class="w100">
<
br>
<
input value="ОТПРАВИТЬ ЗАЯВКУ" type="submit" id="submitFF">
</
form>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.