Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/46: Рейтинг темы: голосов - 46, средняя оценка - 4.59
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134

Продвинутая система обмена сообщениями на сайте?

09.07.2013, 16:51. Показов 9737. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! вот хочу написать хорошую систему обмена сообщениями на сайте на подобии как в ВК - есть у меня гипотиза как это реализовать но в ней пара неясных моментоов) Давайте подумаем и разберем вместе!) Вопервых будет скрипт на странице меседжера - который заглдывает в Mysql и проверяет есть ли там таблицы именованные "idнаш+idдруга" и наоборот, если нет то при начинании беседы скрипт создает такую таблицу если она имеется то грузит из нее переписку. и таких таблиц со временем создастся уйма на каждый диалог 2х пользователей. и пара моментов которые меня интересуют - как сделать так что бы страница была интерективна - задавать ей обновляться каждые пару секунд? или обновлять только ее участок? и 2е стоит ли это вобще реализовывать на PHP и mysql - может стоит на другом чемнибудь писать??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.07.2013, 16:51
Ответы с готовыми решениями:

Анонимный чат [Реализация протокола обмена сообщениями]
Здравствуйте, появилось желание сделать анонимный чат. И уже в начале появились трудности. Как зарегистрировать участника после нажатия...

Решение для обмена сообщениями внутри сайта
Доброго времени суток. Требуется найти решение для организации обмена сообщениями между пользователями сайта (должно иметь API для...

обмен сообщениями на сайте пользователями
как реализовать обмен сообщениями на сайте пользователями? помогите и пожалуйста в подробностях опишите!)

28
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134
29.07.2013, 11:49  [ТС]
Студворк — интернет-сервис помощи студентам
KOPOJI, так вот же)
HTML5
1
<input name="userfile" type="file">
0
29.07.2013, 11:49

Не по теме:

когда я писал сообщение, этого не было ;D

0
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134
29.07.2013, 15:11  [ТС]
KOPOJI, ясно) вот к стати форму сделал теперь в обработчике такой скрипт загрузочный

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//преобразуем картинку для сообщения если она есть
if (empty($_FILES['uploadfile']['name']))
{
$uploadimg = ' ';//если переменной не существует 
}
 
else 
{
//иначе - загружаем изображение пользователя
$uploaddir='uploadimages/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
 
move_uploaded_file($_FILES["uploadfile"]["tmp_name"], "$uploaddir".$_FILES["uploadfile"]["name"]);
$uploadimg = '$uploaddir.$_FILES["uploadfile"]["name"]';
 
}
 
$result2 = mysql_query("INSERT INTO messages (author, poluchatel, date, text, imgfile) VALUES ('$author','$poluchatel','$date','$text','$uploadimg')",$db);//заносим в базу сообщение
картинка на сайт в каталог грузится но в базу заносится не правильный адрес ссылки на картнку из-за чего она не добавляется(

Добавлено через 14 секунд
тоесть не отображается*

Добавлено через 46 секунд
//*Делаю пока так для теста потом добавлю сжатие изображения до нужных размеров*//

Добавлено через 2 часа 10 минут
все решил надо было вот так сделать:
PHP
1
$uploadimg = $uploaddir.$_FILES["uploadfile"]["name"];
Добавлено через 35 секунд
Теперь 2е!) как лучше сделать что бы картинка перед сохраненеием на сайт сжималась до нужных размеров??
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.07.2013, 15:58
Цитата Сообщение от DanteLoL Посмотреть сообщение
как лучше сделать что бы картинка перед сохраненеием на сайт сжималась до нужных размеров??
Уменьшения разрешения изображений
0
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134
02.08.2013, 13:45  [ТС]
СЛлушайте слушайте! Читал недавно про виды строк в МайскуэЛ есть там такой вид строки(столбца) ENUM - написанно как и во всех уважающих себя пособиях технических - заумными общими фразами - тоесть ничего непонятно - можно разъяснить доступным языком?? Ибо у меня идея - если я всетаки понял все правильно то ENUM = это масив тоесть в одну ячейку можно запихать массивом дофига значений к примеру скажем массив id друзей пользователя??
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
02.08.2013, 14:00
ENUM - это константый "массив". Т.е., могут использоваться только те значения, которые записаны в структуре. В общем, не вариант

Добавлено через 4 минуты
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql> CREATE TABLE `test` (`id` INT(10) AUTO_INCREMENT PRIMARY KEY, `name` ENUM('foo', 'bar'));
Query OK, 0 ROWS affected (0.15 sec)
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'foo');
Query OK, 1 ROW affected (0.05 sec)
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'bar');
Query OK, 1 ROW affected (0.05 sec)
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'lol');
Query OK, 1 ROW affected, 1 warning (0.04 sec)
 
mysql> SHOW WARNINGS;
+---------+------+-------------------------------------------+
| Level   | Code | Message                                   |
+---------+------+-------------------------------------------+
| Warning | 1265 | DATA truncated FOR COLUMN 'name' at ROW 1 |
+---------+------+-------------------------------------------+
1 ROW IN SET (0.00 sec)
 
mysql> SELECT * FROM `test`;
+----+------+
| id | name |
+----+------+
|  1 | foo  |
|  2 | bar  |
|  3 |      |
+----+------+
3 ROWS IN SET (0.01 sec)
 
mysql>
Добавлено через 4 минуты
Если, конечно, вы не хотите изгаляться подобным образом
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql> CREATE TABLE `test` (`id` INT(10) AUTO_INCREMENT PRIMARY KEY, `name` ENUM('foo'));
Query OK, 0 ROWS affected (0.13 sec)
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'foo');
Query OK, 1 ROW affected (0.04 sec)
 
mysql> ALTER TABLE `test` CHANGE `name` `name` ENUM('foo','bar');
Query OK, 0 ROWS affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'bar');
Query OK, 1 ROW affected (0.04 sec)
 
mysql> ALTER TABLE `test` CHANGE `name` `name` ENUM('foo','bar','lol');
Query OK, 0 ROWS affected (0.12 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> INSERT INTO `test`(`id`, `name`) VALUES(NULL, 'lol');
Query OK, 1 ROW affected (0.04 sec)
 
mysql> SELECT * FROM `test`;
+----+------+
| id | name |
+----+------+
|  1 | foo  |
|  2 | bar  |
|  3 | lol  |
+----+------+
3 ROWS IN SET (0.00 sec)
 
mysql>
0
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134
03.08.2013, 12:09  [ТС]
KOPOJI, да) понятно, но было бы круто если бы было поле таблицы типа "масива") еще вопрос такой у меня почему то вот этот вот скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (isset($_POST['id'])) { $id = $_POST['id'];}//получаем идентификатор создателя
if (isset($_POST['name'])) { $name = $_POST['name'];}//получаем имя коалиции
if (isset($_POST['stat'])) { $stat = $_POST['stat'];}//получаем тип коалиции
 
if (empty($name)){echo "<html><head><meta http-equiv='Refresh' content='2; URL=createcoal.php'></head><body>Вы не ввели название коалиции! Вы будете перемещены через 2 сек. Если не хотите ждать, то <a href='createcoal.php'>нажмите сюда.</a></body></html>";
die ();}
$name = stripslashes($name);//удаляем обратные слеши
$name = htmlspecialchars($name);//преобразование спецсимволов в их HTML эквиваленты
 
$result = mysql_query("SELECT id FROM coalitions WHERE name='$name'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {echo "<html><head><meta http-equiv='Refresh' content='2; URL=createcoal.php'></head><body>Коалиция с таким именем уже существует! Вы будете перемещены через 2 сек. Если не хотите ждать, то <a href='createcoal.php'>нажмите сюда.</a></body></html>";
die ();}
 
if (empty($_FILES['logotip']['name']))
{
$logotip = ' ';//если переменной не существует
} else {
$logotip = ' ';
}
$logotip = ' ';
$creatorid = $myrow['id'];
$result2 = mysql_query("INSERT INTO coalitions (name, avatar, creators, stat) VALUES ('$name', '$logotip', '$creatorid', '$stat')",$db);//заносим в базу сообщение
при том скрипт не хочет заносить любые значения в таблицу, при том что имя таблицы правильно и конект с БД есть.. значения полей таблицы таковы = id - авто инкремент - int9; name varchar225; avatar varchar225; creators varchar225; stat int1 дефаулт 0;

Добавлено через 5 часов 56 минут
даже error_reporting(E_ALL); не отображет что ошибки были и mysql_error(); тоже ничего не выдает(

Добавлено через 14 часов 40 минут
А на самом деле просто у меня почему то перестала работать команда Insert, при том Селект и Апдейт работают отлично но новые строки в БД не создаются!!! У меня локальный хостинг на апаче+Майскуэл+ПХПмайАдмин кто знает почему так???
0
 Аватар для Rodion2703
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
03.08.2013, 13:02
Попробуйте вывести result2 (print)
0
 Аватар для DanteLoL
5 / 6 / 2
Регистрация: 13.06.2013
Сообщений: 134
03.08.2013, 14:01  [ТС]
все нашел! у меня в таблице 6 полей - 1 id с автоинкрементом - 2 name 3 avatar 4 creators 5 users 6 stat - 1е идет автоинкремент - 6е у него есть значение по умлочанию! - если я вбиваю данные полностью в запросе - заполняю 2 3 4 и 5 поля то запрос проходит если к примеру я заполняю только одно или два то запрос не проходит! раньше так не было а теперь такое почему??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2013, 14:01
Помогаю со студенческими работами здесь

Система обмена сообщениями
Здраствуйте форумчане! И так мне надо написать клиент-серверное сетевое приложение реализующее функционал системы обмена сообщениями...

Система обмена сообщениями
Есть ли какая-нибудь система обмена мообщениями, которая одновременно реализует паттерны &quot;remote procedure call&quot; и...

Существование обмена сообщениями на сайте github
Существует ли возможность обмена сообщениями на сайте github.com между пользователями и каким образом это достигается? заранее спасибо) ...

Нужна проверка кода (система обмена сообщениями)
есть код C++,компилируется в Mingw/bin при помощи g++. Данный код представляет собой систему обмена сообщениями. Идеальный случай,когда...

Скрипт обмена сообщениями
Всем привет)никак не могу найти урок или скрипт для реализации обмена сообщениями на сайте, как например вконтакте или facebook. Кто...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru