Как показать всплывающее окно после отправки формы?
У меня есть форма, в которой идет отправка логина и комментария. Это все сделано при помощи phpmailer. В моем случае, после отправки формы меня «перекидывает» на главную страницу сайта. Этот кусок кода выглядит так:
if (!$mail->send()) < echo 'Error'; echo 'Mailer Error: ' . $mail->ErrorInfo; > else < header('location: ../index.html'); >
Я хочу, чтобы после отправки формы появлялось всплывающее окно, а не перенаправление на главную страницу.
Всплывающее окно такого рода:
Простой 3 комментария
Вы путаете отправку Header’а и открывание всплывающего окна с помощью JS.
Если хотите попроще — сделайте
Или в самой форме сделайте
Вопрос хоть и передаёт суть, не говорит об условиях вашего кода.
По клику на отправку почты, вы делаете переход на страницу со скриптом, или вызываете ajax, который шлёт отправку писем без перезагрузки страницы?
Если по клику на отправку почты происходит редирект, то поставленную задачу сделать невозможно.
Если вы делаете ajax запрос, то в случае успеха вы должны вернуть некоторый ответ, который потом нужно разобрать и там уже сгенерировать окно с результатом, например с помощью jquery
$.post( 'someUrl', < mailAddress: 'someAddress', mailTitle: 'someTitle', mailText: 'someText' >, function (response) < if (response === 1)< alert("Спасибо! Ваше сообщение отправлено"); >else < alert("Во время отправки произошла ошибка. Ошибка: " + response); >> );
Пример не является решением, лишь пример.
При отправке формы открывается исходный код php
Погуглила, получается что проблема в настройках php моего сайта. Подскажите где искать эти настройки? Писать в службу поддержки хостинга или в админке или где?
При нажатии кнопки, открывается весь код php-файла
Проблема такова: при нажатии кнопки, открывается весь код php-файла. И, конечно же, данные в базу.
При отправке формы в выводе $_POST в массиве я вижу не все поля формы
подскажите, в чем дело. или для обработки полей типа "file" (которого нет в массиве) нужны особые.
Как при отправке формы добавить текущего пользователя сессии в таблицу данных формы
вывод логина юзера, может поможет <?php <?php // Проверяем, пусты ли переменные логина и id.
Как при отправке формы из модалки дописывать в data нужные данные из первой формы и отправлять?
Добрый вечер, всем! Есть две формы. в одну вводим вопрос от пользователя, во второй пользователь.
Steisi1982, исходный код php может выводиться в браузер только если не запустить сервер в целом и php в частности. Если эта проблема наблюдается на хостинге, то видимо у них нет поддержки php.
В любом случае, выкладывания кода ещё никогда не помешало в поиске и устранении проблемы.
form action="send.php" method="post"> input type="text" name="fio" placeholder="Укажите ФИО"> input type="text" name="email" placeholder="Укажите e-mail"> input type="submit" value="Отправить"> /form>
$fio = $_POST['fio']; $email = $_POST['email']; mail("exzample@mail.ru", "Анкета с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: exzample@mail.ru \r\n"); if (mail("exzample@mail.ru", "Анкета с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: exzample@mail.ru \r\n")) { echo "сообщение успешно отправлено"; } else { echo "при отправке сообщения возникли ошибки"; }
Mail, естественно, не exzample@mail.ru, а реальный.
Ошибка в консоли:
Unchecked runtime.lastError: The message port closed before a response was received.
Уже не первый сайт создаю на этом хостинге, но с таким сталкиваюсь впервые. Не могу понять, толи писать в службу поддержки хостинга, толи в теме искать, толи в файлах самого вордпресса.
Добавлено через 1 минуту
Сообщение от Steisi1982
Добавлено через 1 минуту
И лучше заказать нормальный обработчик, чем использовать эту пародию.
Нет, дело не в этом. Это все проставлено
Добавлено через 1 минуту
Там все очень бюджетно лишних средств нет. Сайт для конкурса детских рисунков, посвященных ВОВ
У вас фактически нет обработчика. Такое любят прикладывать верстальщики, чтобы их работа (верстка) сошла за готовый сайт.
Обработчик будет, все остальное тоже. Я пока проверяю как уходят данные с формы. Пока это весь код. Php я только изучаю, новичок я. Хостинг поддерживает php. Данные на mail доходят, но меня смущает эта ошибка и такое странное перенаправление
Т.е. php-код и выполняется, и отображается? Покажите на скриншоте, как он отображается в браузере. И все-таки выложите целиком файл с обработчиком.
Сообщение было отмечено Steisi1982 как решение
Решение
Почти везде пишут, что функция mail() на хостингах выключена. Я проверял на своем — мне тоже сказали, что она у них выключена. Так что переспросите в техподдержке.
Вы указали, что сайт на вордпресс, то лучше сразу встраивать свой код к какую — нибудь тему. Меньше возни потом. И использовать родную вордпрессовскую wp_mail().
Примеров почитать масса тут. Ну или по аналогии найдите примерчик посвежее.
Не могу запустить PHP. Показывает исходный код
Установил Apache 2.4. Апач работает. Загрузил PHP 5.5, скопировал php.ini в папку с php и в папку.
Обработка SQL-запроса при отправке формы (при нажатии submit)
Добренького Вам настроеница. Как организовать обработку SQL-запроса при нажатии на submit в form.
Ошибка при отправке с формы
Ошибка "Provisional headers are shown", что это и чему может быть причиной ? Нашел похожую тему.
Уязвимость при отправке формы
Дело в том, что при отправке формы, прописав определенный код. Пользователь может вносить.
Сбрасывается значение при отправке формы
День добрый. Для пхп скрипта сделал на сайте страницу с настройками. Оно работает (получить.
Перезагрузка страницы при отправке формы
Как сделать так, что бы при отправке сообщения страничка не обновлялась? <? $sitename =.
Форум PHP программистов ► PHP основы ► Работа с почтой
Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 38858
На форуме:
Карма:
Здравствуйте, Сам в PHP не разбираюсь, в сети нашел код формы обратной связи, вставил на сайт но после нажатии на кнопку отправить появляется код php с файла, соответственно письмо не отправляется. В чем может быть ошибка?
$xxx =$_POST[«xxx»];
$name=$_POST[«name»];
$email=$_POST[«email»];
$mess=$_POST[«mess»];
if (isset ($name))
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
echo «Не указано имя.
«;
echo «Вернуться и правильно заполнить форму.»;
exit;
>
>
else
$name = «не указано»;
>
if (isset ($email))
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
echo «Не указан e-mail.
«;
echo «Вернуться и правильно заполнить форму.»;
exit;
>
>
else
$email = «не указано»;
>
if (isset ($mess))
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
echo «Нет текста вопроса.
«;
echo «Вернуться и правильно заполнить форму.»;
exit;
>
>
else
$mess = «не указано»;
>
$i = «не указано»;
if ($name == $i AND $email == $i AND $mess == $i)
echo «Ошибка ! Скрипту не были переданы параметры !»;
exit;
>
$to = «art.andry@gmail.com»; /*МЕНЯЕШЬ НА СВОЙ АДРЕСС!*/
$subject = «вопрос от посетителя сайта»;
$message = «Имя:$name. Электронный адрес:$email. Сообщение:$mess. IP-адрес:$REMOTE_ADDR«;
mail ($to,$subject,$message) or print «Не могу отправить письмо.»;
echo «Спасибо за отправку вашего сообщения
Нажмите, чтобы вернуться на Главную страницу сайта»;
exit;
?>
Сидел он, дум великих полон — и вдаль глядел
Сообщений: 15860
Пользователь №: 4190
На форуме:
Карма: 490
Цитата (andrydesign @ 9.02.2014 — 13:02) |
вставил на сайт но после нажатии на кнопку отправить появляется код php с файла |
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* «накапливаю умение телепатии» (С) и «гуглю за ваш счет» (С)