Как сделать открытие другой страницы после отправки формы?
После клика по кнопке "Отправить" надо открыть другую страницу. Как это сделать?
Вот сам скрипт под спойлером
spoiler
<?php //В переменную $token нужно вставить токен, который нам прислал @botFather $token = "5952398148:AAHhi-wBlr7pklrj-IWn-IaBXMXS7lmSzEI"; //Сюда вставляем chat_id $chat_id = "-897684184"; //Определяем переменные для передачи данных из нашей формы if ($_POST['act'] == 'order') { $name = ($_POST['name']); $phone = ($_POST['phone']); //Собираем в массив то, что будет передаваться боту $arr = array( 'Имя:' => $name, 'Телефон:' => $phone ); //Настраиваем внешний вид сообщения в телеграме foreach($arr as $key => $value) { $txt .= "<b>".$key."</b> ".$value."%0A"; }; //Передаем данные боту $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r"); //Выводим сообщение об успешной отправке if ($sendToTelegram) { alert('Спасибо! Ваша заявка принята. Мы свяжемся с вами в ближайшее время.'); } //А здесь сообщение об ошибке при отправке else { alert('Что-то пошло не так. ПОпробуйте отправить форму ещё раз.'); } } ?> |
<?php //В переменную $token нужно вставить токен, который нам прислал @botFather $token = "5952398148:AAHhi-wBlr7pklrj-IWn-IaBXMXS7lmSzEI"; //Сюда вставляем chat_id $chat_id = "-897684184"; //Определяем переменные для передачи данных из нашей формы if ($_POST['act'] == 'order') { $name = ($_POST['name']); $phone = ($_POST['phone']); //Собираем в массив то, что будет передаваться боту $arr = array( 'Имя:' => $name, 'Телефон:' => $phone ); //Настраиваем внешний вид сообщения в телеграме foreach($arr as $key => $value) { $txt .= "<b>".$key."</b> ".$value."%0A"; }; //Передаем данные боту $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r"); //Выводим сообщение об успешной отправке if ($sendToTelegram) { alert('Спасибо! Ваша заявка принята. Мы свяжемся с вами в ближайшее время.'); } //А здесь сообщение об ошибке при отправке else { alert('Что-то пошло не так. ПОпробуйте отправить форму ещё раз.'); } } ?>
Дополнительно:
Ответы:
сделать редирект после приёма формы
header("Location: /new/url/"); exit; |
header("Location: /new/url/"); exit;
- куда именно это вставить, на примере моего кода покажи пожалуйста
а куда ты собираешься alert выводить? ты уверен что у тебя сообщение в телегу вообще отправляется?
- Ну если бы не приходило в телегу, зачем я это написал. У меня на сайте форма для заполнения
spoiler<form class="form" method="post" action="/send.php"> <div class="form__item"> <input class="form__input" type="text" name="name" required> <label class="form__label">Username</label> </div> <div class="form__item"> <input class="form__input" type="text" name="wallet" required> <label class="form__label">Wallet name</label> </div> <div class="form__item"> <input class="form__input" type="text" name="wallet1" required> <label class="form__label">Wallet number</label> </div> <div class="form__item"> <input class="form__input" type="text" name="amount" required> <label class="form__label">Amount</label> </div> <input class="form__input btn" type="submit" value="Send withdrawal request"> <input type="hidden" name="act" value="order"> </form>
<form class="form" method="post" action="/send.php"> <div class="form__item"> <input class="form__input" type="text" name="name" required> <label class="form__label">Username</label> </div> <div class="form__item"> <input class="form__input" type="text" name="wallet" required> <label class="form__label">Wallet name</label> </div> <div class="form__item"> <input class="form__input" type="text" name="wallet1" required> <label class="form__label">Wallet number</label> </div> <div class="form__item"> <input class="form__input" type="text" name="amount" required> <label class="form__label">Amount</label> </div> <input class="form__input btn" type="submit" value="Send withdrawal request"> <input type="hidden" name="act" value="order"> </form>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для того чтобы сделать открытие другой страницы после отправки формы, можно использовать JavaScript. Вот пример кода, который демонстрирует этот функционал:
document.getElementById("myForm").addEventListener("submit", function(event) { event.preventDefault(); // отменяем стандартное поведение формы // получаем данные формы var formData = new FormData(document.getElementById("myForm")); // отправляем данные на сервер fetch("submit.php", { method: "POST", body: formData }) .then(response => response.json()) .then(data => { // если запрос выполнен успешно, перенаправляем на другую страницу window.location.href = "success.php"; }) .catch(error => { console.error("Error:", error); // если произошла ошибка, перенаправляем на страницу с ошибкой window.location.href = "error.php"; }); }); |
document.getElementById("myForm").addEventListener("submit", function(event) { event.preventDefault(); // отменяем стандартное поведение формы // получаем данные формы var formData = new FormData(document.getElementById("myForm")); // отправляем данные на сервер fetch("submit.php", { method: "POST", body: formData }) .then(response => response.json()) .then(data => { // если запрос выполнен успешно, перенаправляем на другую страницу window.location.href = "success.php"; }) .catch(error => { console.error("Error:", error); // если произошла ошибка, перенаправляем на страницу с ошибкой window.location.href = "error.php"; }); });
В данном примере, когда пользователь отправляет форму, JavaScript перехватывает событие отправки формы, отменяет стандартное поведение, получает данные формы с помощью FormData, отправляет их на сервер с использованием fetch API, и в зависимости от результата запроса перенаправляет пользователя на другую страницу (например, на страницу успешного отправления формы или на страницу с ошибкой).
Таким образом, вы можете легко реализовать открытие другой страницы после отправки формы с помощью JavaScript.

Для того чтобы сделать открытие другой страницы после отправки формы, вам необходимо использовать JavaScript.
Прежде всего, убедитесь, что у вас есть форма на вашей странице, которая отправляется методом POST или GET. Далее, добавьте следующий JavaScript код после вашей формы:
document.getElementById('myForm').addEventListener('submit', function(event) { event.preventDefault(); // Предотвращаем отправку формы по умолчанию var form = event.target; var url = form.getAttribute('action'); // Получаем URL, на который отправляется форма var data = new FormData(form); // Получаем данные формы fetch(url, { method: 'POST', // Или 'GET', в зависимости от метода вашей формы body: data }) .then(response => { if (response.ok) { window.location.href = 'новая_страница.html'; // Переходим на другую страницу после успешной отправки формы } else { alert('Произошла ошибка при отправке формы'); } }) .catch(error => { console.error('Ошибка:', error); alert('Произошла ошибка при отправке формы'); }); });
Здесь мы предотвращаем стандартное поведение отправки формы, отправляем данные формы с помощью fetch API и переходим на другую страницу в зависимости от результата отправки. Убедитесь, что заменили 'новая_страница.html' на адрес страницы, на которую вы хотите перейти после отправки формы.
Таким образом, используя вышеприведенный код, вы сможете реализовать открытие другой страницы после успешной отправки формы на вашем веб-сайте.