Всем добрый день и хорошего настроения!
Есть файл index.php, в нем форма:
<form action="send.php" enctype="multipart/form-data" method="post">
<fieldset>
<input type="text" name="name" value="" style="display:none;">
<input type="text" name="fieldFormName" value="Вопрос" style="display:none;" readonly>
<p>
<label>Ваше имя:</label>
<input type="text" name="fieldName" placeholder="Иван" required>
</p>
<p>
<label>Ваш E-Mail:</label>
<input type="email" name="fieldMail" placeholder="name@domain.ru" required>
</p>
<p>
<label>Приложить файлы:</label>
<input type="file" name="fieldFiles" multiple>
</p>
<p>
<label>Текст:</label>
<textarea name="fieldText" rows="5" placeholder="Текст" required></textarea>
</p>
<p>
<button type="submit">Отправить отзыв</button>
</p>
</fieldset>
</form>
А так же есть обработчик - send.php, в котором необходимо сделать с вложением файлом, есть необходимость сделать с валидацией на загрузку определенных расширений, например ".jpg", ".jpeg", ".png", ".gif", а так же ограничить максимальный размер файла, к примеру 3Мб.
// Узнаем IP Адрес пользователя
function getIp() {
$keys = [
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'REMOTE_ADDR'
];
foreach ($keys as $key) {
if (!empty($_SERVER[$key])) {
$ipUser = trim(end(explode(',', $_SERVER[$key])));
if (filter_var($ipUser, FILTER_VALIDATE_IP)) {
return $ipUser;
}
}
}
}
$ipUser = getIp();
$siteName = 'MySite.RU'
// Получаем данные из полей форм
$fieldFormName = $_POST['fieldFormName'];
$spam = $_POST['name'];
$fieldName = $_POST['fieldName'];
$mailUser = $_POST['fieldMail'];
$fieldText = $_POST['fieldText'];
// Оформление письма, которое придет получателю (и пользователю).
if ($fieldFormName == 'Вопрос'): // Если форма с названием "Вопрос", то отправлять эти данные
// Сообщение для меня
$messageMe = '
<h1>'.$fieldFormName.' с сайта "'.$siteName.'"</h1>
IP адрес отправителя: '.$ipUser.'<br>
Имя: '.$fieldName.'<br>
Электронная почта: '.$mailUser.'<br>
Текст: '.$fieldText.'
';
// Сообщение для пользователя
$messageUser = '
<h1>'.$fieldFormName.' с сайта "'.$siteName.'"</h1>
IP адрес отправителя: '.$ipUser.'<br>
Имя: '.$fieldName.'<br>
Электронная почта: '.$mailUser.'<br>
Текст: '.$fieldText.'
';
// Сообщение выводимое на сайте после успешной отправки
$messageSent = '
Имя: '.$fieldName.'<br>
IP адрес отправителя: '.$ipUser.'<br>
Электронная почта: '.$mailUser.'<br>
Текст: '.$fieldText.'
';
elseif ($fieldFormName == 'Отзыв'): // Иначе если форма с названием "Отзыв", то отправлять эти данные
// Сообщение для меня
$messageMe = '';
// Сообщение для пользователя
$messageUser = '';
// Сообщение выводимое на сайте после успешной отправки
$messageSent = '';
endif;
// Определение СПАМа
if (empty($spam)) {
$mailTo= "username@mysite.ru"; // Кому отправляем форму
$mailFrom = "no-replay@mysite.ru"; // От кого отправлена форма
$subject = $fieldFormName.' с сайта "'.$siteName.'"'; // Тема письма (Пример: $subject = 'Сообщение с сайта';)
// Заголовки, отвечающие за кодировку и тип письма, оставляем без изменений
$headers = "From: $mailFrom\r\nReplay-To: $mailFrom\r\nContent-type: text/html; charset=utf-8\r\n";
// Отправляем пользователю mail(кому отправляем, тема, текст в сообщении, заголовки)
mail (
$mailUser,
$subject,
$messageUser,
$headers
);
// Отправляем себе mail(кому отправляем, тема, текст в сообщении, заголовки)
$send = mail (
$mailTo,
$subject,
$messageMe,
$headers
);
// Если отправка прошла успешно, то загружаем шаблон сайта с содержимым, иначе ошибка
if ($send == 'true') {
include_once('sent.php');
} else {
echo 'Ой, ошибочка какая-то!';
}
} else {
echo 'Ой, СПАМ какой-то!';
}
Файл-шаблон результата sent.php
<p>
<a href="#" onclick="javascript:history.back(); return false;">
Назад
</a>
</p>
<h1>
Поздравляем!
</h1>
<p>
Сообщение отправлено!
</p>
<p>
<b>Содержание письма:</b>
</p>
<hr>
<p>
<?php echo $messageSent; ?>
</p>
Народ, Помогите Пожалуйста с решением данного вопроса, я просто не особо силен в php, иначе уже сам сделал бы.
Заранее Благодарю за помощь и ответ!