2009-11-12 3 views
2

У меня есть сайт с одной страницей, в котором есть PHP-код. Как только пользователь нажимает «Отправить», он отправляет информацию на мой адрес электронной почты, а затем отображает сообщение с сообщением о том, что действие было успешным для пользователя - отлично.HTML-переадресация на исходную страницу

После того, как сообщение закрыто, веб-сайт находится на веб-сайте www.report.php. Есть ли способ перенаправить его обратно на исходную страницу.

Также можно изменить любой значок в появившемся окне сообщения? Вот код, который у меня есть: <script language="JavaScript">alert("Your request has been sent. I will contact you soon!");</script>

Спасибо.

ответ

4

Посмотрите на window.open и window.location

Поместите его после предупреждения()

http://www.tizag.com/javascriptT/javascriptredirect.php

Кроме того, чтобы ответить на ваш значок MessageBox вопрос: Нет, это браузер-зависимых и не изменяемый ,

Если вы хотите это сделать, вам понадобится подделать его с помощью html/css и javascript.

+0

Убедитесь, что вы ухудшать грациозно для тех, кто без JavaScript. Вы не хотите, чтобы пользователь, не поддерживающий JS, застрял на пустой странице :) – BStruthers

+0

Хотя я бы вообще избегал javascript, ваш единственный (пока), чтобы не предлагать использовать заголовок, когда он спрашивает, как перенаправить после отправки содержание страницы. –

+0

и вызвать автоматическую переадресацию с использованием временной задержки без использования javascript. Проверьте метатег для http-equiv = "refresh"

0

Используйте PHP header команду

<?php 
header("Location: http://www.example.com/"); 
exit; 
?> 
+0

Ницца, вы избили меня к нему на 15 секунд. –

+0

Этот метод не отображает предупреждение. –

-1

К концу РНР, используйте:

header('location: home.php'); 

Это заставит браузер, чтобы загрузить исходную страницу.

Я не верю, что стандартное поле предупреждения может быть изменено, кроме сообщения. Вы не можете изменить название или кнопки.

Frank

+1

Этот метод либо не отображает предупреждение, либо не перенаправляет его на самом деле. Либо заголовок будет отправлен до содержимого страницы (и предупреждения JS), заставляя страницу перенаправляться без предупреждения, либо если содержимое страницы было отправлено до того, как заголовок будет установлен, заголовок не будет иметь никакого эффекта. –

+0

Ahh, я сделал предположение, что первая страница вызвала предупреждение, а не скрипт обработки. Я полагаю, он мог бы буферировать вывод ... но это звучит намного больше, чем просто использовать 'window.location()' после 'alert()'. –

+0

Как указано на странице руководства PHP для [header] (http://php.net/header), она должна использоваться перед любым другим выходом. – Jocelyn

0

Чтобы сделать редирект в PHP, используйте header("Location: page.php"); для этого. До и после этого ваш код не должен отправлять какой-либо другой результат в ответ. В конце концов используйте exit();, чтобы завершить скрипт позже.

Если вам нужна страница, указанная непосредственно перед этой страницей, то лучше всего включить ее URL-адрес в качестве параметра запроса ссылки на report.php и использовать его в качестве адресата перенаправления. Например.

<a href="report.php?referrer=<?php echo $_SERVER['REQUEST_URI']; ?>">report</a> 

и в report.php передать его как скрытое поле ввода:

<input type="hidden" name="referrer" value="<?php echo getParam("referrer"); ?>"> 

И после представления доклада сделать:

header("Location: " . getParam("referrer") . ")"; // getParam() returns sanitized GET parameter. 

Альтернативой является использование заголовка $_SERVER['HTTP_REFERER'] (да, включая опечатку) для этого, но это просто не так надежно, так как он может быть отключен или подделан клиентом.

1
<script language="JavaScript"> 
alert("Your request has been sent. I will contact you soon!"); 
window.location.assign("http://website.com"); 
</script> 

Если вы хотите изменить значок в окне предупреждения или сделать его немного фантазии, вы можете попробовать YUI dialog

0

Я считаю, что более элегантное решение, чтобы просто представить пользователю страницу подтверждения (вместо окна предупреждения) и поместите туда ссылку на предыдущую страницу.

Это будет работать в лизинг для всех пользователей.

Для пользователей с javascript немного Ajax (jQuery) может отправить форму для вас и отобразить подтверждение. Все, не покидая страницу, на которой пользователь включен (отрицает необходимость каких-либо причудливых перенаправлений).

1

Используйте этот код, чтобы отобразить предупреждение:

function displayAlert(message, redirect) { 
    alert(message); 
    window.location.href = redirect; 
} 

Затем вы можете использовать такой код:

displayAlert("This is the message", "http://redirect.the/user/here"); 
Смежные вопросы