2010-06-15 3 views
1

У меня есть страница PHP с содержанием, которое могут просматривать мои пользователи. Когда эта страница получает запрос POST с определенного внешнего URL-адреса, я хотел бы перенаправить пользователя на другую страницу.Мониторинг обратной связи с PHP?

Проблемы я», имеющая следующая:

Как я могу контролировать страницу для отправки запросов в эффективном способе?

Как я могу на самом деле перенаправить их, поскольку header() не работает.

Спасибо.

ответ

1

Вы можете использовать скрипт AJAX для «ping» сервера с перерывами, чтобы узнать, были ли какие-либо изменения. Если есть, перенаправите пользователя с помощью JavaScript.

Это почти единственный способ.

+0

Что бы я пингом? Я не могу предсказать, когда приходит внешний пост. – Rebecca

+0

Сам файл PHP. Вам придется хранить внешний пинг во временном файле или базе данных, пока клиентская сторона не сможет его восстановить. –

1

мы можем поставить этот фрагмент, чтобы проверить просить почтовый

if($_POST['flag']==1) { 
      header("location:newpage.php"); 
      exit(); 
} 

Но если вы хотите регулярно проверять запрос без взаимодействия с пользователем, чем вам придется использовать AJAX

+0

Не забудьте вызвать exit после вызовов в заголовок ('Location: ...'). –

2

Что касается второго вопроса, заголовка() будет работать, если вы используете его перед отправкой любой информации на страницу. Однако, если вы эхо, печатаете или имеете HTML перед этим, это приведет к ошибке.

Редактировать: В ответ на комментарий Жабы, тогда вам придется сделать то, что предложил Аарон Харун. Имейте страницу сохранить данные $ _POST в базу данных или файл (убедитесь, что вы его дезинфицируете!), Как и с любыми данными $ _POST. Затем вам нужно будет использовать AJAX для получения ответа со второй страницы PHP, которая просто проверяет наличие обновленных данных из того места, где вы его сохранили. Если ответ вернется, вы перенаправите его с помощью перенаправления JavaScript.

Единственный способ сделать это без использования AJAX - это обновить страницу с помощью элемента метаобновления HTML с временными интервалами, чтобы проверить, получены ли данные $ _POST. HTML выполнит обновление, PHP выполнит проверку, и вы можете использовать либо для перенаправления.

+0

Вопросы не касаются перенаправляемой страницы ... Это страница, которая уже визуализируется, перенаправляется из-за того, что кто-то другой попадает на ту же страницу – Toad

Смежные вопросы