2010-06-06 2 views
1

В настоящее время у меня есть система обмена сообщениями. Я ищу, чтобы сделать так, чтобы, когда пользователь получает новое сообщение, они получают предупреждение. Возможно, всплывающее окно? Как окно с сообщением «у вас есть новое сообщение».Новое сообщение popup

Как я мог достичь этого? Спасибо

ответ

2

Вы не можете сделать это в php, так как нормальное использование php не подразумевает прямого взаимодействия с пользователем. Что вам нужно сделать, так это реализовать соответствующий код взаимодействия с пользователем, например, javascript, и сделать опрос на сервере, на котором размещен php (с использованием AJAX или аналогичного), чтобы узнать, нужно ли всплывать.

0

Это не только проблема с php. Вам нужно сделать таблицу базы данных, как это:

messageID 
contents 
... 
popuped 
userID 

Затем сделать страницу кто получает количество сообщений, которые не popuped уже:

SELECT COUNT(*) AS nr FROM messages WHERE userID = :userID AND popuped = 0 

И после этого набора popuped 1:

UPDATE messages SET popuped = 1 WHERE userID = :userID 

И напечатайте поле nr.

Затем для каждой страницы вашего сайта вам необходимо сделать запланированный запрос ajax (например, каждые 20 секунд), который загружает эту страницу. Если результат выше нуля, вам нужно показать, что у пользователя есть сообщения.

Для АЯКСА запроса посмотрите, например, на MooTools яваскрипта рамки (или JQuery, Prototype и т.д.)

0

Вы ищете «живые» сообщения, как в предупреждении отображается, пока пользователь делать другие вещи? Или вы ищете «статическое» сообщение, как в предупреждении, которое отображается, когда пользователь открывает страницу? Статический метод может быть достигнут с серверной php. Живому методу необходимо будет использовать методы на стороне клиента. Я рекомендую использовать jQuery и jGrowl и что-то вроде jQuery Timers для живых методов. Задайте этот вопрос так: javascript timers here

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