0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21

Как сделать оповещение о новом сообщении.

28.06.2011, 13:11. Показов 9035. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте подскажите пожалуйста как можно реализовать оповещение о новом сообщение сделал сообщение и что бы новое выходило выше чем старые ну я хочу сделать оповещение о новом сообщение как можно это реализовать подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2011, 13:11
Ответы с готовыми решениями:

Как отправить на e-mail сообщение о новом сообщении
Здравствуйте, Мне нужна помощь, я новичок в php, и ещё многого не знаю, но изучаю. Перейду к делу: У меня есть сайт, а на сайте на...

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

Как приложение Вконтакте узнаёт о новом сообщении?
Как реализовать подобную вещь: как, например, приложение Вконтакте узнаёт о новом сообщение? Оно циклично посылает запрос на сервер с...

28
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 17:17  [ТС]
Студворк — интернет-сервис помощи студентам
TOI_I_IA,
Ошибка
Parse error: syntax error, unexpected T_VARIABLE in L:\home\test1.ru\www\profile.php on line 42
$countNew = "(". $coll['coll'] .")";
вот тут вроде бы
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 17:26
PHP
1
2
3
4
5
  $countNew = "(".mysql_result(mysql_query("SELECT COUNT(*) FROM messages WHERE poluchatel='$login' and status='1' ",$db)).")";
if ($countNew < 1)  $countNew = NULL;
print <<<HERE
<a href='Messages.php?id=$myrow2[id]'>Мои сообщения $countNew </a>
HERE;
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 17:30  [ТС]
TOI_I_IA,
Опять ошибка теперь тут
$countNew = "(".mysql_result(mysql_query("SELECT COUNT(*) FROM messages WHERE poluchatel='$login' and status='1' ",$db)).")";

пишет
Warning: mysql_result() expects at least 2 parameters, 1 given in L:\home\test1.ru\www\profile.php on line 40
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 17:33
PHP
1
2
3
4
5
$countNew = "(".mysql_result(mysql_query("SELECT COUNT(*) FROM messages WHERE poluchatel='$login' and status='1' ",$db),0).")";
if ($countNew < 1)  $countNew = NULL;
print <<<HERE
<a href='Messages.php?id=$myrow2[id]'>Мои сообщения $countNew </a>
HERE;
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 17:37  [ТС]
TOI_I_IA,
Да не как что то не получаеться уже ошибок нет ну серовно если одно прислал сообщение то 12 и больше не идет.
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 17:38
PHP
1
poluchatel='$login'
а это условие верно. или имя пользователя у тебя в другой переменной хранится
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 17:47  [ТС]
TOI_I_IA,
Да вроде бы все нормально ну вот это страница сообщений если есть желание посмотрите может там я сам что то накосячил.
<?php

// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();
print <<<HERE
<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

HERE;
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
else
{ exit("<div class='warning'>Вы зашил на страницу без параметра!</div>");} //если не указали id, то выдаем ошибку
if (!preg_match("|^[\d]+$|", $id)) {
exit("<p><div class='warning'>Неверный формат запроса! Проверьте URL</p></div>");//если id не число, то выдаем ошибку
}

if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db);
$myrow2 = mysql_fetch_array($result2);
if (empty($myrow2['id']))
{
//Если не действительны (может мы удалили этого пользователя из базы за плохое поведение)
exit("<div class='warning'>Вход на эту страницу разрешен только зарегистрированным пользователям!</div>");
}
}
else {
//Проверяем, зарегистрирован ли вошедший
exit("<div class='warning'>Вход на эту страницу разрешен только зарегистрированным пользователям!<a href='/' id='knopka_success' >На главную</a> <a href='reg.php' id='knopka_success' >Зарегистрироваться</a>
</div>"); }
$result = mysql_query("SELECT * FROM users WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);//Извлекаем все данные пользователя с данным id
$countNew = "(".count(mysql_fetch_array(mysql_query( "SELECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))).")";
if ($countNew < 1) $countNew = NULL;
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");} //если такого не существует
$countNew = count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))); //количество новых сообщений
?>
<html>
<head>

<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title><?php echo $myrow['login']; ?></title>
</head>
<body>
<?php
if ($myrow['login'] == $login) {
//Если страничка принадлежит вошедшему, то предлагаем изменить данные и выводим личные сообщения
print <<<HERE


<div id="shapka"><div align="center">
<a href="/" id="knopka3" >Главная</a>
<a href="all_users.php" id="knopka3" >Люди</a>
<a href="news.php" id="knopka3" >Новости</a>
<a href="index.php" id="knopka3" >Развлечения</a>
<a href="index.php" id="knopka3" >Конкурсы</a>
</div>
</div>
HERE;
?>
<?php
print <<<HERE
<div id="menu-users">
<a href='profile.php?id=$myrow2[id]' id="knopka-menu"style="top: 0px;
position: relative;" <img src="images/user.png" border="0">Профиль</a>
<a href='friends.php?id=$myrow2[id]' id="knopka-menu"style="top: 0px;
position: relative;" <img src="images/users.png" border="0">Друзья</a>

<a href='photos.php?id=$myrow2[id]' id="knopka-menu"style="top: 0px;
position: relative;" <img src="images/picture.png" border="0">Фотографии</a>


<a href='Messages.php?id=$myrow2[id]'id="knopka-menu" style="top: 0px;
position: relative;" <img src="images/email.png" border="0" >Сообщения $countNew</a>
<a href='edit-profile.php?id=$myrow2[id]'id="knopka-menu"style="top: 0px;
position: relative;" <img src="images/edit.png" border="0" >Редактировать профиль</a>
<div align="right">
<a href="exit.php" id="knopka-menu2" style="top: -15px;
position: relative;" >Выйти</a> </div>
</div>
</div>
HERE;
?>
<div align="center"></div>
<div id="border">
<div id="center">
<div id="left"><div align="center"><div id="text_log3"><?php echo $myrow['login']; ?></div></div>
<div align="center">

<?php
print <<<HERE

HERE;
//выше вывели меню

print <<<HERE
<img alt='$_SESSION[login]' src='$myrow[avatar]' >
<!-- Выше отображается аватар. Его адрес содержит переменная $myrow[avatar] --></div><br>














<div id="photo-user2">



Личные сообщения:

HERE;
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login' ORDER BY id DESC",$db);









$countNew = count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))); //количество новых сообщений












$messages = mysql_fetch_array($tmp);//извлекаем сообщения пользователя, сортируем по идентификатору в обратном порядке, т.е. самые новые
if (!empty($messages['id'])) {
do //выводим все сообщения в цикле
{
$author = $messages['author'];
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'",$db); //извлекаем аватар автора
$myrow4 = mysql_fetch_array($result4);

if (!empty($myrow4['avatar'])) {//если такового нет, то выводим стандартный(может этого пользователя уже давно удалили)
$avatar = $myrow4['avatar'];
}
else {$avatar = "avatars/net-avatara.jpg" ; }

printf("
<div align='left'>

<table>
<tr>
<td><a href='profile.php?id=%s'> <div id='obvod_messages'>
<img alt='аватар' src='%s' border='0' width='70px'></a></td>

<td>Автор: <a href='profile.php?id=%s' >%s</a><br>
Дата: %s<br>
Сообщение:<br>
%s<br>

<a href='drop_post.php?id=%s' id='knopka-del' <img src='images/del.png' border='0'>Удалить</a>

</td>
</tr>
</table><br>
</div>
",$myrow4['id'],$avatar,$myrow4['id'],$author,$messages['date'],$messages['text'],$messages['id']);
//выводим само сообщение
}
while($messages = mysql_fetch_array($tmp));

}
else {
//если сообщений не найдено
echo "Сообщений нет";
}

}

else
{
//если страничка чужая, то выводим только некторые данные и форму для отправки личных сообщений

print <<<HERE
</div>
<img alt='аватар' src='$myrow[avatar]'><br>
<form action='post.php' method='post'>
<br>
<a href='profile.php?id=$myrow2[id]'>Друзья</a><br>
<a href='profile.php?id=$myrow2[id]'>Фотографии</a><br>
<h2>Отправить Ваше сообщение:</h2>
<textarea cols='43' rows='4' name='text'></textarea><br>
<input type='hidden' name='poluchatel' value='$myrow[login]'>
<input type='hidden' name='id' value='$myrow[id]'>
<input type='submit' name='submit' id="knopka" value='Отправить'>
</form>
HERE;
}

?>
</center></div>

<div id="right2"></div>

</div></div>

</body>
</html>
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 17:51
PHP
1
2
3
4
5
6
7
exit("<div class='warning'>Вход на эту страницу разрешен только зарегистрированным пользователям!<a href='/' id='knopka_success' >На главную</a> <a href='reg.php' id='knopka_success' >Зарегистрироваться</a>
</div>"); }
$result = mysql_query("SELECT * FROM users WHERE id='$id'",$db); 
$myrow = mysql_fetch_array($result);//Извлекаем все данные пользователя с данным id
$countNew = mysql_fetch_array(mysql_query("SELECT COUNT(*) as all FROM messages WHERE poluchatel='$login' and status='1' ",$db));
if ($countNew['all'] < 1) {$countNew = NULL;} else {$countNew = "(".$countNew['all'].")";}
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");} //если такого не существует
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 18:15  [ТС]
TOI_I_IA,
Тут ошибка
$countNew = mysql_fetch_array(mysql_query("SELECT COUNT(*) as all FROM messages WHERE poluchatel='$login' and status='1' ",$db));



Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in L:\home\test1.ru\www\Messages.php on line 38
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2011, 18:15

Оповещение о входящем сообщении
Всем привет. Интересует такой вопрос. outlook 2010 Есть 2 ящика и на оба поступают входящие сообщения. Как настроить оповещения так...

Авторизация.Оповещение о сообщении
Доброго времени суток дорогие форумчане, прошу вашей помощи, сейчас разрабатываю серверное/клиентское приложение и столкнулся с 2...

Социальные сети: как на MVC 3 можно организовать быстрое уведмомление о новом сообщении
Мне в голову пришло несколько вариантов: 1) организовать запросы со страницы пользователя на сервер в базу данных сообщений через...

Оповещение о новом заказе
Переопределил оповещение о новом заказе в init.php Вот код: &lt;? // Письмо пользователю при оформлении нового заказа ...

Событие о новом сообщении
Доброго времени суток. Разрабатываю сайт ms sql, linq c#, iis, ms. Общение с пользователем ajax json. Хочу реализовать общение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru