HTML перенаправление на исходную страницу - PullRequest
2 голосов
/ 13 ноября 2009

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

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

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

Спасибо.

Ответы [ 7 ]

4 голосов
/ 13 ноября 2009

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

Поместите его после оповещения ()

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

Также, чтобы ответить на вопрос о значке вашего сообщения: Нет , он зависит от браузера и не может быть изменен.

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

1 голос
/ 13 ноября 2009

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

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

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

displayAlert("This is the message", "http://redirect.the/user/here");
1 голос
/ 13 ноября 2009
    <script language="JavaScript">
alert("Your request has been sent. I will contact you soon!");
window.location.assign("http://website.com");
</script>

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

0 голосов
/ 13 ноября 2009

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

Это сработало бы для всех пользователей.

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

0 голосов
/ 13 ноября 2009

Чтобы сделать перенаправление в 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'] (да, включая опечатку), но это не настолько надежно, так как он может быть отключен или подделан клиентом.

0 голосов
/ 13 ноября 2009

В конце вашего php, используйте это:

header('location: home.php');

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

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

Frank

0 голосов
/ 13 ноября 2009

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

<?php
header("Location: http://www.example.com/"); 
exit;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...