Intereting Posts
Настройки PHP? PHP не получает данные POST отключение кеша браузера в php или использование javascript Regex – соответствие всем, кроме HTML-тегов XSS – Какие HTML-теги и атрибуты могут вызывать события Javascript? Как я могу использовать маршруты / подстановочные знаки в Laravel? Как выполнить модульное тестирование Исключения с помощью PHPUnit? Как добавить новые поля в профиль пользователя в Drupal 7 программно Сервер API Codeigniter RESTful Поиск файлов в PDF-файлах и сравнение Facebook SDK вернул ошибку: проверка подделки на основе перекрестного запроса не удалась. Параметр «состояние» из URL-адреса и сеанса не соответствует WinXP – запуск PHP: невозможно загрузить динамическую библиотеку php_ibm_db2.dll Как получить содержимое страницы с помощью cURL? php: как предотвратить SQL-инъекцию из $ _POST BasicNetwork.performRequest: Неожиданный код ответа 403 для http: //localhost/database/login.php cURL: два отдельных запроса, одна сессия

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

Как приостановить страницу за определенное количество секунд, прежде чем перенаправить пользователя на другую страницу HTML / PHP с помощью PHP?

Это должно работать:

<?php header('Refresh: 5; URL=http://yoursite.com/page.php'); //other code ?> 

и позволит вашему пользователю видеть любой вид вывода, который вы хотите (вы будете перенаправлены в X Seconds, нажмите yere, если нет, и т. д.)

Низкотехнологичное решение, не требующее Javascript или даже PHP:

 <html> <head> <title>Redirecting...</title> <meta http-equiv="refresh" content="10;URL=http://www.newsite.com"> </head> <body> You are being automatically redirected to a new location.<br /> If your browser does not redirect you in 10 seconds, or you do not wish to wait, <a href="http://www.newsite.com">click here</a>. </body> </html> 

Преимущество этого решения с использованием заголовка «Location:» заключается в том, что вам не нужно приостанавливать выполнение сценария, который будет отображаться для пользователя, как если бы сервер был занят или их соединение зависло.

Это решение также дает пользователю возможность немедленно перейти на новую страницу, а не ждать x секунд, пока их браузер не отображает информацию.

Редактирование: Я думаю, что также стоит отметить, что если вы решите использовать метод header (), вам нужно убедиться, что продолжительность sleep () не слишком длинная. Я думаю, что большинство браузеров генерируют время соединения, не получая никаких данных с сервера в течение 1 минуты.

никогда не используйте сон таким образом. Даже при небольшой нагрузке на вашем сервере не будет http-соединений. Хуже, если ваш брандмауэр заканчивается.

Параметр задержки в заголовке перенаправления выполнен точно по той же причине.

Другие 2 варианта – это переадресация Javascript с использованием setTimeout () или тега meta refresh с таймаутом.

Если вы хотите подождать, а затем вернуться к предыдущей странице, вот как

 $referrer = $_SERVER['HTTP_REFERER']; header ("Refresh: 2;URL='$referrer'"); 

Обновление : это работает, но может и не быть наиболее подходящим решением для этой ситуации. См. Комментарии.

Возможно, это то, что вы ищете?

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

Пытаться:

 <?php $url=base_url().'page_you_want_to_go_to' header('Refresh: X; URL=$url'); ?> 

Это даст вам дополнительную гибкость при обмене между локальным хостом и удаленным сервером.

поместите это в заголовок.

  <meta http-equiv="refresh" content="0.01;makensucces.html" /> 

на месте 0,01 вы должны поставить секунды, я использовал десятичное число.

и на месте makensucces.html вам нужно указать имя из файла, который вы хотите.