2010-11-01 2 views
0

Я создал сайт, который работает с разными сеансами, и у каждого пользователя есть своя страница на mydomain.com/user. Я хочу знать, что возможно, что, если один пользователь входит в свою учетную запись и нажимает кнопку, он отображает HTML BOX на панели управления кнопки, указанной пользователем?Возможно ли это с помощью PHP?

Когда пользователь должен войти в систему, он должен уметь видеть коробку со своего аккаунта.

Я бы указал имя пользователя, на панели которого поле должно появиться в кнопке.

Скажите - у меня есть 4 кнопки с именем 1b, 2b, 3b, 4b.

Если пользователь нажимает на 1b, он должен отображать поле на dashobard пользователя a. если он нажимает на b2, он должен отображать окно на dashbaord или пользователя b и т. д.

Возможно ли это? Это похоже на функцию запроса мгновенного друга Facebook. Если да, можете ли вы, ребята, дать какой-то намек.

Thank you

+0

странные соглашения об именах :) ... почему 1b, 2b, 3b, 4b, если они относятся к пользователям a, b, c и d. может быть, вы хотели сказать, что пользователь b - тот, кто нажимает на эти кнопки? – hummingBird

ответ

4

Чтобы сделать что-то подобное, вам нужен способ хранения сообщений (ящиков), которые вы хотите показать пользователям (использование базы данных с сообщениями, связанными с пользователями, является самым простым). Действие нажатой кнопки будет добавлять туда данные. Это действие может быть выполнено с помощью простой формы с методом POST или с помощью запроса Ajax.

Затем вы можете проверить, есть ли новые сообщения для пользователя, когда он входит в систему или обновляет свою приборную панель. Вам просто нужно проверить базу данных, принять сообщение и удалить его (или установить логическое «полученное» значение true). Это чистый PHP, а не мгновенный (только при регистрации или обновлении страницы). С помощью этой техники вы вставляете блок в HTML, прежде чем отправлять его клиенту.

Наконец, если вы хотите мгновенное уведомление, вы должны подготовить javascript для регулярного запроса новых сообщений. На стороне сервера у вас есть PHP-скрипт, который ищет в базе данных и возвращает данные сообщения. С помощью этой техники вы отправляете страницу без блока, и у вас есть другой запрос на получение блока, а затем добавьте его в HTML с javascript.

Некоторые полезные ссылки:

+0

Отличный ответ. Не могли бы вы предоставить мне некоторые ссылки, которые еще больше помогли бы мне. Спасибо, я не хочу, чтобы это было мгновенно. Нормальная настройка была бы прекрасна. Еще раз спасибо. – Johnson

+0

и жаль, что задал тупой вопрос, но как вы создаете базу данных с сообщениями связанный с пользователями, является самым простым? – Johnson

+0

Это зависит от вашего приложения Как зарегистрирован ваш пользователь? Поддерживаете ли вы учетные записи в базе данных, например MySQL или SQLite? Я обновлю свой ответ с подробностями и ссылки. –

0

Pure PHP, не совсем. В этом случае вам понадобится JavaScript. Когда пользователь нажимает на b2, они будут делать фоновый запрос на сервер, который записывает, что есть сообщение, ожидающее пользователя b. Затем вам понадобится периодический запрос, чтобы выйти из браузера пользователя b, который проверяет наличие новых сообщений. Если это так, отобразите окно для пользователя.

+0

+0 Вы можете сделать это только с помощью PHP, и для этого вам нужен только JavaScript, если вы хотите, чтобы это произошло без необходимости перезагрузки своих страниц. Но поскольку пользователь попросил FB, ответ, скорее всего, то, что ищет OP. – Gordon

+1

Я думаю, что он не заслужил нисходящего хода, так как он попросил «как бы тот запрос друга мгновенно». Однако могут быть сомнения. –

+0

Мне показалось очевидным, что OP не захотела перезагружать страницы с обоих концов (на самом деле это не «мгновенно», если есть перезагрузка). Кроме того, я сознательно не учитывал специфику, поскольку я не знаю, что OP знакомят с JavaScript. Кроме того, если бы мне был предоставлен мой выбор, я бы предоставил решение GWT, и это действительно применимо только для меньшей аудитории. – Curtis

0

Да, это возможно.

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

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