С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
77 / 38 / 2
Регистрация: 07.01.2012
Сообщений: 414
1

Перенаправление после отправление формы

02.05.2018, 14:24. Показов 524. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, не могу перенаправить пользователя на другую страницу после отправления формы. И еще вопросы, возможно ли переправить на определенную страницу в зависимости от выбранного Option value?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
if (isset ($_POST['contactFF'])) {
  $to = "rustam.amirhanov@gmail.com"; // поменять на свой электронный адрес
  $from = $_POST['contactFF'];
  $subject = "Заполнена контактная форма с ".$_SERVER['HTTP_REFERER'];
  $message = "Тип: ".$_POST['typeFF']."\nEmail: ".$from."\nIP: ".$_SERVER['REMOTE_ADDR']."\nКомментарий к заказу: ".$_POST['messageFF']."\nТелефон: ".$_POST['phoneFF'];
  $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) { // проверка на общий размер всех файлов. Многие почтовые сервисы не принимают вложения больше 10 МБ
    mail($to, $subject, $message, $headers);
    echo $_POST['contactFF'].', Ваше сообщение получено, спасибо!';
  } else {
    echo 'Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.';
  }
}
?>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    <script>
document.getElementById('feedback-form').addEventListener('submit', function(evt){
  var http = new XMLHttpRequest(), f = this;
  evt.preventDefault();
  http.open("POST", "http://animagram.art/contacts.php", true);
  http.onreadystatechange = function() {
    if (http.readyState == 4 && http.status == 200) {
      alert(http.responseText);
      if (http.responseText.indexOf(f.nameFF.value) == 0) { // очистить поле сообщения, если в ответе первым словом будет имя отправителя
        f.messageFF.removeAttribute('value');
        f.messageFF.value='';
      }
    }
  }
  http.onerror = function() {
    alert('Извините, данные не были переданы');
  }
  http.send(new FormData(f));
}, false);
</script>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<div id="myModal" class="modal">
        
        <div class="modal-content">
            
            <div class="modal-body">
                
                <div>
                            <div>
                                <div class="card-header pb-0">
                                    <h4 class="heading text-indigo">Сделать заказ</h4>
                                </div>
                                <a class="close" data-close="modal" aria-hidden="true">×</a>
                                <div class="card-body">
                                    <!-- Form -->
                                    <form autocomplete="on" name="contact-form" class="has-validation-callback" enctype="multipart/form-data" method="post" id="feedback-form">
                                        <div class="form-group">
                                            <div class="row">
                                                <div class="col-sm-6">
                                                    <!-- Email Input -->
                                                    <input class="input form-control" data-validation="required" data-validation-error-msg="Пожалуйста, укажите Ваш Email." name="contactFF" placeholder="Email">
                                                </div>
                                                <div class="col-sm-6">
 
 
                                                    <!-- Phone Input -->
                                                    <input class="input form-control" placeholder="Загрузить файл" type="text" style="background:#edeff2 url(file_i.png) no-repeat right center;">
                                                    <input style="opacity:0;margin-top: -37px; z-index: 99999;" type="file" class="input form-control" data-validation="required" data-validation-error-msg="Пожалуйста, загрузите файл." name="fileFF[]" multiple placeholder="Загрузить файл">
                                                </div>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            
                                            <div class="row">
                                                <div class="col-sm-6">
                                                    <select class="input form-control" data-validation="required" data-validation-error-msg="Пожалуйста, выберете услугу."  name="typeFF" placeholder="Тип услуги" style="background:#edeff2 url(select_i.png) no-repeat right center;-moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none;">
                                                        <option disabled="" selected="">Тип услуги</option>
                                                        <option value="Портрет">Портрет - 2999 ₽</option>
                                                        <option value="Срочный портрет">Срочный портрет - 4999 ₽</option> 
                                                    </select>
                                                    
                                                </div>
                                                <div class="col-sm-6">
                                                    <input class="input form-control" data-validation="required" data-validation-error-msg="Пожалуйста, укажите Ваш Телефон." name="phoneFF" placeholder="Телефон">
                
                                                </div>
                                            </div>
                                            
                                                    
                                        </div>
                                        <div class="form-group">
                                            <textarea id="mesinput" class="input form-control" data-validation="required" data-validation-error-msg="Пожалуйста, оставьте комментарий к заказу." name="messageFF" placeholder="Комментарий к заказу" rows="3"></textarea>
                                        </div>
                                        <input value="Отправить" type="submit" id="submitFF" class="btn btn-block ui-gradient-green shadow-md">
                                        
                                    </form><!-- Form -->
                                </div>
                            </div>
                         </div>
        
                
            </div>      
        </div>
    </div>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2018, 14:24
Ответы с готовыми решениями:

Перенаправление / вывод сообщения после обработки формы
Как вывести сообщение с информацией после обработки введенных пользователем данных? Сейчас...

Перенаправление на верх страницы после отправки формы
Есть форма. Когда её отправить - перенаправляет на верх страницы. Я хочу, чтобы экран оставался на...

Перестало работать перенаправление после выполнения отправки формы
Добрый день, подскажите где есть ошибка. Есть форма для отправки данных с формы. Все работало...

отправление формы
подскажите что делаю не так. создаю сайт и при нажатии на обратную связь происходит переход на...

2
376 / 318 / 73
Регистрация: 15.09.2017
Сообщений: 1,429
02.05.2018, 16:25 2
Можете. Возможно.

Как я понимаю, вам перенаправление на JavaScript нужно делать. А это раздел, посвященный PHP.

Добавлено через 3 минуты
utf-8 и 7bit как-то не сочетаются, вам не кажется?
0
77 / 38 / 2
Регистрация: 07.01.2012
Сообщений: 414
02.05.2018, 16:27  [ТС] 3
Я учусь писать сайты, поэтому много ошибок и могу перепутать раздел, буду признателен, если поможете.
0
02.05.2018, 16:27
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2018, 16:27
Помогаю со студенческими работами здесь

Перенаправление при отправки формы (POST)
Здравствуйте! Подскажите пожалуйста, как можно убрать перенаправление при отправке form? Поясняю:...

Перенаправление с формы на таблицу с заполненными данными
Помогите пожалуйста! есть форма! ссылка на фому del ссылка на скачку формы .txt над...

Перенаправление обратно на страницу при отправки формы
Собственно сам код формы &lt;form id=&quot;Form&quot; action=&quot;send3.php&quot; method=&quot;post&quot;&gt; ...

Перенаправление после авторизации
Здравствуйте. Будьте добры, подскажите, как сделать перенаправление на главную страницу сайта,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru