Перенаправление в PHP

У меня типичный скрипт mail.php, который использует функцию mail (). После того, как пользователь вводит информацию в типичную форму HTML, у меня есть функция mail (), отправляющая электронное письмо на нужную электронную почту [с почтой ($ email_of_client) и т. Д. И т. Д.],

Мой вопрос таков:

После отправки электронной почты я хочу, чтобы пользователь перенаправлялся на страницу ThankYou (запускался под WordPress, поэтому он не имеет расширений .html или .php)

Я попробовал следующее:

<meta http-equiv="refresh" content="0;URL=http://my-site-here.com/thankyou"> 

Это делает работу, но показывает пустой экран на миллисекунду. Мне было интересно, можно ли сразу сделать перенаправление после ввода пользователем данных и нажатия на отправку.

Большое спасибо,

Amit

Вместо использования метаобновления используйте

 header('Location: http://my-site-here.com/thankyou'); exit(); 

Не забывайте о выходе (), если вы не хотите выполнять то, что после этой строки

Это работает, если вы не отправили ничего в браузер. Если вам нужно было отправить что-либо в браузер, это решение:

 ob_start(); echo "sending something to the browser"; header('Location: http://my-site-here.com/thankyou'); ob_end_clean(); exit(); 

Вы можете перенаправлять с помощью HTTP-заголовков. Используйте что-то вроде этого:

 <?php header('Location: http://www.example.com/'); ?> 

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

См. http://php.net/manual/en/function.header.php для получения подробной информации о функции и общей информации о заголовках http.

Чтобы добавить к другим ответам, всегда рекомендуется отправлять код состояния;

 header('HTTP/1.1 302 Found'); header('Location: http://example.com');