Другие языки программирования и технологии

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

Ludwig Martel
Ludwig Martel
229
А это зависит от того, как отправляется форма. - Если это AJAX и данные отправляются и получаются без перехода на другую страницу, то примерно так, как Next Expert написал. Если вы отправляете форму для обработки какому либо серверному скрипту, который находится по другому адресу, указанному в action формы (не по адресу страницы, с которой отправлена форма) , то чтобы вернуться на исходную страницу после отправки нужно использовать такую штуку:
<? header('Location: '.$_SERVER['HTTP_REFERER']); ?>

а если хотите перейти на какую-то другую страницу - добавьте в форму скрытое поле, в которое будете джаваскриптом помещать нужный адрес, а потом перейдете по этому адресу.. . после Location: нужно указывать полный адрес - c http:// (только для протокола HTTP/1.1)
но вообще-то так обычно не делается.. . а вдруг ошибка при отправке, или юзер форму неправильно заполнил?

P.S. обязательно сохраняйте PHP-файл, в котором используется header(); без сигнатуры BOM, иначе ошибку будет выдавать.
Денис Нефёдов
Денис Нефёдов
60 969
Лучший ответ
скрипты специальные для этого есть.
Это через php....Header("location: ПУТЬ")
Влад Чебан
Влад Чебан
10 416
вот например:

<body … onLoad="setTimeout('leavePage()', 1000)"> <script language="JavaScript">
<!--
var intLeft = 60;
function leavePage() {
if (0 == intLeft) {
document.location = "index.htm";
}
else {
intLeft -= 1;
document.all.countdown.innerText = intLeft + " ";
setTimeout('leavePage()', 1000);
}
}
//-->
</script>

<span id="countdown">До перехода осталось
<script language="javascript"><!--
document.write(intLeft);
//-->
</script>
</span> секунд

NextExpert.ru
Резо Мосе
Резо Мосе
5 867