редирект после поста? - PullRequest
       18

редирект после поста?

3 голосов
/ 23 октября 2009

У меня есть php-страница для отправки резюме. как только они нажимают «отправить», они сообщают все сообщения на mail.php

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

есть ли какая-либо команда, которую я могу использовать для перенаправления на другую страницу после того, как mail.php завершит свою работу ??

Спасибо

Ответы [ 5 ]

8 голосов
/ 23 октября 2009

Это стандартное перенаправление в PHP:

<?php
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: http://www.example.com' );
exit;
?>

Однако в вашем случае линия перенаправления 301, вероятно, не нужна. Следует отметить, что exit необходимо, в противном случае будет выполняться остальная часть вашего PHP-скрипта, чего вы, возможно, не захотите (например, вы можете захотеть что-то отобразить в случае ошибки).

Кроме того, функция header должна вызываться перед отправкой любого вывода в браузер (включая пустые строки). Если вы не можете избежать пустых строк, поставьте ob_start(); в начале скрипта.

5 голосов
/ 23 октября 2009
header("Location: /yourpage.php");

Документация PHP

2 голосов
/ 23 октября 2009

В конце mail.php просто добавьте

header("Location: anotherpage.php");

Помните, что вы ничего не можете вывести до вызова header (), чтобы перенаправление работало правильно.

2 голосов
/ 23 октября 2009

использование header () функция:

header('Location: http://example.com/new_loc/');

или

header('Location: /new_loc/'); // if it's within the same domain.
1 голос
/ 23 октября 2009

В связанной заметке, которая важна для команды заголовка PHP, вы должны убедиться, что запускаете эту команду ДО того, как какой-либо контент отобразится на той странице, на которой вы ее запускаете, иначе она не будет работать.

Например, это НЕ будет работать:

<html>
<head>
</head>
<body>
    Hello world
</body>
<?php header("Location: mypage.php"); ?>
</html>

но это будет работать:

<?php header("Location: mypage.php"); ?>
<html>
<head>
</head>
<body>
    Hello world
</body>
</html>

По сути, команда header будет работать только в том случае, если она используется в сценарии PHP ДО того, как любое статическое содержимое или даже теги HTML будут выплеваны из сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...