Здравствуйте ребята. Столкнулся с проблемой, нужно что бы в анкете прикрепляли фото формата jpg или png. Помогите пожалуйста, и подскажите в каком месте и какой код надо написать заранее благодарю. Код обработчика: PHP: <?php if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } if( isset( $_POST['send'] ) ) { include_once ENGINE_DIR . '/classes/mail.class.php'; $mail = new dle_mail( $config ); $tema = "Новая анкета по трудоустройству с сайта"; $server = $_POST['server']; $email=trim(htmlspecialchars($_POST["email"])); if(strlen($email)=="0"){$error.="Заполните поле <b>E-Mail</b><br>";} $port=trim(htmlspecialchars($_POST["port"])); $period=trim(htmlspecialchars($_POST["period"])); $message=trim(htmlspecialchars($_POST["message"])); if(isset($_FILES['upl'])) { if($_FILES['upl']['error'] == 0){ $mail->AddAttachment($_FILES['upl']['tmp_name'], $_FILES['upl']['name']); } } if(@$error){ msgbox("Внимание, обнаружена ошибка", $error); }else{ // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['mail_file']['tmp_name'])) { // Закачиваем файл $path = $_FILES['mail_file']['name']; if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path; } $thm = $_POST['mail_subject']; $msg = $_POST['mail_msg']; $mail_to = $_POST['mail_to']; $test = " Привет это пишет тебе твой самый лучший сайтик! У меня кто-то заполнил новую анкетку, Скорее прочти её!!! ============================================== Имя: ".$_POST['name']." Номер телефона: ".$_POST['tel']." Номер WhatsApp: ".$_POST['telWhatsApp']." Номер Viber: ".$_POST['telViber']." Эл. почта: ".$_POST['email']." Полных лет: ".$_POST['vozrost']." Рост: ".$_POST['rost']." Вес: ".$_POST['ves']." Грудь Талия Бедра: ".$_POST['gryd_talia_bedra']." Наличие на теле: ".$_POST['taty']." | ".$_POST['pirsing']." | ".$_POST['shrami']." | ".$_POST['drygoe'].". Знание иностранных языков: ".$_POST['yaziki']." Есть опыт работы: ".$_POST['opit']." Наличие портфолио для работы: ".$_POST['portfolio']." Узнала: ".$_POST['kak']." О себе: ".$_POST['osebe']." "; $mail->send( "тут у меня почта", $tema, $test); msgbox("Спасибо", "Благодарим Вас за анкету. Ожидайте с вами свяжутся."); } } $tpl->load_template( 'rek.tpl' ); $tpl->copy_template = "<form method=\"post\" id=\"sendmail\" name=\"sendmail\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>"; $tpl->compile( 'content' ); $tpl->clear(); ?> --- Добавлено --- я уже пытался сделать что бы фото заливалась но так и не вышло, это мы видим в коде Код (Text): }else{ // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['mail_file']['tmp_name'])) { // Закачиваем файл $path = $_FILES['mail_file']['name']; if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path; }
не пытался..... а какую то отсебятину выдумывал... гуглится на раз сначала нужно файлы загрузить на ваш сервер - move_uploaded_file и только потом - отправлять указывая реальный путь на вашем сервере
безопасная загрузка изображений https://github.com/MouseZver/My-garbage-code/tree/master/upload_class пост запросы начало валидации: PHP: if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) { ... } --- Добавлено --- дальнейшая валидация пост данных: PHP: $ARGS = [ 'group1w' => FILTER_SANITIZE_FULL_SPECIAL_CHARS, 'name' => FILTER_SANITIZE_FULL_SPECIAL_CHARS, 'phone' => FILTER_SANITIZE_NUMBER_INT, 'email' => FILTER_VALIDATE_EMAIL, 'select' => FILTER_SANITIZE_NUMBER_INT ]; $INPUTS = filter_input_array ( INPUT_POST, $ARGS ); --- Добавлено --- и не забываем включать ошибки PHP: <?php error_reporting ( E_ALL | E_STRICT ); /* ... */ --- Добавлено --- @StepanAMK PHP: if(@$error) когда соберетесь забывать про собак поповича ?
Подскажи пожалуйста где именно этот код надо вставить, я вообще не понимэ --- Добавлено --- Понимаю что отсебятина, гуглил пытался но нечего не вышло пришол за помощью к вам.
Всем кто принимал участие спасибо, проблема решена. Решение проблемы: Код (Text): <?php if (isset ($_POST['contactFF'])) { $to = "jobsvipgirls@city-tours-models.com"; $from = $_POST['contactFF']; $subject = "Заполнена контактная форма с ".$_SERVER['HTTP_REFERER']; $message = " Имя: ".$_POST['nameFF']." nEmail: ".$from." Телефон: ".$_POST['tel']." WhatsApp: ".$_POST['telWhatsApp']." Viber: ".$_POST['telViber']." Полных лет: ".$_POST['vozrost']." Рост: ".$_POST['rost']." Вес: ".$_POST['ves']." Грудь Талия Бедра: ".$_POST['gryd_talia_bedra']." Размер груди: ".$_POST['siski']." Наличие на теле татуировок, пирсинга, шрамов и пр.: ".$_POST['taty']." | ".$_POST['pirsing']." | ".$_POST['shrami']." | ".$_POST['drygoe']." | Знание иностранных языков: ".$_POST['yaziki']." Есть опыт работы: ".$_POST['opit']." Наличие портфолио для работы: ".$_POST['portfolio']." Как Вы узнали о нас?: ".$_POST['kak']." Расскажите кратко о себе: ".$_POST['osebe']; $boundary = md5(date('r', time())); $filesize = ''; $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: " . $from . "\r\n"; $headers .= "Reply-To: " . $from . "\r\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; $message=" Content-Type: multipart/mixed; boundary=\"$boundary\" --$boundary Content-Type: text/plain; charset=\"utf-8\" Content-Transfer-Encoding: 7bit $message"; for($i=0;$i<count($_FILES['fileFF']['name']);$i++) { if(is_uploaded_file($_FILES['fileFF']['tmp_name'][$i])) { $attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'][$i]))); $filename = $_FILES['fileFF']['name'][$i]; $filetype = $_FILES['fileFF']['type'][$i]; $filesize += $_FILES['fileFF']['size'][$i]; $message.=" --$boundary Content-Type: \"$filetype\"; name=\"$filename\" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=\"$filename\" $attachment"; } } $message.=" --$boundary--"; if ($filesize < 10000000) { mail($to, $subject, $message, $headers); $output = '<script>alert("Ваше сообщение получено, спасибо!");</script>'; } else { $output = '<script>alert("Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.");</script>'; } } ?> <!DOCTYPE HTML> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php echo $output; ?> <form enctype="multipart/form-data" method="post" id="feedback-form"> <center> <label for="nameFF">Как Вас завут?</label><br> <input type="text" name="nameFF" id="nameFF" required placeholder="Введите своё Ф.И.О. полностью." x-autocompletetype="name" class="w100 border"><br><br> <label for="nameFF">Ваш телефон:</label><br> <input type="text" name="tel" id="nameFF" required placeholder="Ваш активный номер телефона для связи." x-autocompletetype="name" class="w100 border"><br><br> <label for="contactFF">Email:</label><br> <input type="email" name="contactFF" id="contactFF" required placeholder="например, sveta@yandex.ru" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Ваш WhatsApp: <br>(если есть -указывайте в международном формате: + страна/код региона (код города) номер абонента)</label><br> <input type="text" name="telWhatsApp" id="contactFF" required placeholder="Ваш активный номер телефона месенджера WhatsApp" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Ваш Viber:<br> (если есть -указывайте в международном формате: + страна/код региона (код города) номер абонента)</label><br> <input type="text" name="telViber" id="contactFF" required placeholder="Ваш активный номер телефона месенджера Viber" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Сколько полных лет:</label><br> <input type="text" name="vozrost" id="contactFF" required placeholder="Введите сколько вам полных лет" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Ваш рост: (укажите в сантиметрах)</label><br> <input type="text" name="rost" id="contactFF" required placeholder="Введите ваш рост в сантиметрах" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Ваш вес: (укажите в киллограммах)</label><br> <input type="text" name="ves" id="contactFF" required placeholder="Введите ваш вес в килограммах" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Грудь Талия Бедра: (в сантиметрах через запятую.)</label><br> <input type="text" name="gryd_talia_bedra" id="contactFF" required placeholder="Примерно вот так 90,60,90" x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Размер груди: (укажите натуральная или сделанная)</label><br> <input type="text" name="siski" id="contactFF" required placeholder="Примерно вот так, Размер 2, натуральная." x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Наличие на теле татуировок, пирсинга, шрамов и пр.:</label><br> <input type="checkbox" name="taty" value="Есть тату |"> Татуировок <b>|</b> <input type="checkbox" name="pirsing" value="Есть пирсинга |"> Пирсинг <b>|</b> <input type="checkbox" name="shrami" value="Есть Шрамы |"> Шрамы <b>|</b> <input type="checkbox" name="drygoe" value="Прочие |"> Прочие <b>|</b><br><br> <label for="contactFF">Знание иностранных языков:</label><br> <input type="text" name="yaziki" id="contactFF" required placeholder="Введите через запятую какими иностранными языками вы владеете." x-autocompletetype="email" class="w100 border"><br><br> <label for="contactFF">Есть опыт работы?</label><br> <select name="opit" class="f_input"> <option selected="selected" value="Нет">Нет.</option> <option selected="selected" value="Да">Да.</option></select><br><br> <label for="fileFF">Прикрепить свои фотографии:</label><br><br> <b>Фото №1</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"> <b>Фото №2</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"><br><br> <b>Фото №3</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"> <b>Фото №4</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"><br><br> <b>Фото №5</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"> <b>Фото №6</b> <input type="file" name="fileFF[]" multiple id="fileFF" class="w100"><br><br> <label for="contactFF">Наличие портфолио для работы:</label><br> <select name="portfolio" class="f_input"> <option selected="selected" value="Нету">Нету.</option> <option selected="selected" value="Есть">Есть.</option></select><br><br> <label for="contactFF">Как Вы узнали о нас?</label><br> <select name="kak" class="f_input"> <option selected="selected" value="По запросу в интернете (Яндекса, Google и т.д.)">По запросу в интернете (Яндекса, Google и т.д.).</option> <option selected="selected" value="Рекомендовали знакомые">Рекомендовали знакомые.</option> <option selected="selected" value="В рекламном агенстве">Из социальных сетей.</option> <option selected="selected" value="Мне предложили я заинтересовался">Мне предложили я заинтересовалась.</option> </select><br><br> <label for="messageFF">Расскажите кратко о себе:</label><br> <textarea name="osebe" id="messageFF" required rows="5" placeholder="Расскажите нам кратко о себе." class="w100 border"></textarea> <br> <input value="Отправить" type="submit" id="submitFF"> </center> </form> <center><h4><font color="Lime">ВНИМАНИЕ: Прежде чем отправить нам заполненную анкету проверьте правильно ли вы указали свои контактные данные (e-mail, WhatsApp, Viber Телефон), в противном случае мы не сможем с вами связаться!</font></h4></center>