За последние 24 часа нас посетили 17398 программистов и 1710 роботов. Сейчас ищут 1566 программистов ...

Подскажите стандарты для форума под управлением PHP и MySQL

Тема в разделе "Вопросы от блондинок", создана пользователем Геон, 23 июл 2013.

  1. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP

    У меня система FreeBSD 8.3 (установленая на виртуальной машине).
    MySQL+PHP+LightTPD

    PHP инсталировал только из пакета php53-mysql.
    Код (Text):
    1. # cd /usr/ports/databases/php53-mysql
    2. # make install clean
    При установке, выбрал опции CLI,CGI. Остальное оставил по умолчанию.
    Далее, перекопировал дефолтный конфиг (выбрал php.ini-development)
    В php.ini исправил на:
    Код (Text):
    1. short_open_tag = On
    2. upload_max_filesize = 100M
    остальное не правил.

    P.S. Где, в информации выводимой Phpinfo(), рапортуется о подключенной либо отключенной поддержке сессий?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    Отдельная секция "SESSION". Где-то между posix и simpleXML.
     
  3. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    Fell-x27, таких секций не обнаружил. Похоже, чего-то я не до инсталлировал.
    P.S. Здесь была ссылка на информацию выводимую phpinfo() - удалил.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    Да у тебя там вообще дохрена всего нет. Перепиливай :)
     
  5. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    Инсталлировал пакет php53-session
    Код (Text):
    1. #cd /usr/ports/www/php53-session/
    2. #make config-recursive
    3. #make install clean
    Наверняка, по прежнему дохрена всего нет. Но сессии появились, и ошибка исчезла. Спасибо за подсказки! :)

    P.S. А чего у меня в PHP еще не хватает, и зачем мне оно?
    Здесь была ссылка на информацию выводимую phpinfo() - удалил.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    Ну из предыдущего - нет SimpleXML, ты об это споткнешься, когда, собсно, будешь работать с XML, лучше прямо сейчас его поставь, и нет Posix, но он тебе едва ли понадобится когда-нибудь вообще. Ну а так, если покопаться, то хз чего еще нет, надо сидеть и проверять. В общем, как только напоришься на отсутствие системной функции, гугли ее на предмет пакета и добавляй его, так проще всего :)
     
  7. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    С этим разобрался. Спасибо!
    -------------------------------------
    У меня еще по другому направлению вопрос:
    Где правильнее хранить принадлежность форумного пользователя к определенной форумной группе (с определенными правами на определенную тему)?
    P.S. Учитывая то, что, один и тот же пользователь может состоять в нескольких группах.
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Re: Подскажите стандарты для форума под управлением PHP и My

    отдельные таблицы
    -user ,group
    -group, topics, rule
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Re: Подскажите стандарты для форума под управлением PHP и My

    Главный стандарт - надежный фильтр непрочитанных сообщений
     
  10. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Я сейчас пытаюсь вернуться к своему типа проекту.
    Создал таблицу users. Создал тестовую форму регистрации. Пользователи в базу заносятся. Создал тестовую форму авторизации. Пользователь авторизуется (после ввода логина и пароля). Сеанс, вроде как создается (но есть некоторые сомнения). Завершение сеанса срабатывает.
    Перешел к занесению в БД сообщений. Создал форму, проверил - данные из формы PHP видит. Функционал записи сообщения в БД еще не написал. Группы пользователей; права пользователей и групп, на сообщения и разделы - еще не создавал.
    временно, опять сделал паузу ^_^
    Остановился на таблице "сообщений", posts:
    Код (PHP):
    1. CREATE TABLE `posts`(
    2.  `id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    3.  `idTitle` INT UNSIGNED NOT NULL,
    4.  `idUser` MEDIUMINT UNSIGNED NOT NULL,
    5.  `message` TEXT NOT NULL,
    6.  `dateCreation` DATETIME NOT NULL
    7.  );
    8.  
    id - идентификатор сообщения
    idTitle - идентификатор темы, которой принадлежит сообщение
    idUser - идентификатор пользователя
    message - текст сообщения (65535 символов)

    У меня два варианта:
    1. Записывать названия тем, в ту же таблицу, что и обычные сообщения (потом определять - сообщения, на которые в `idTitle` ссылаются другие сообщения - это: "названия тем"; "названия разделов" - сообщения, на которые другие сообщения не ссылаются - это обычные сообщения).
    2. Создать отдельную таблицу для "заголовков тем", titles (а, быть может, еще и отдельную таблицу для разделов):
    Код (PHP):
    1. CREATE TABLE `titles`(
    2.  `id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    3.  `idTitle` INT UNSIGNED NOT NULL,
    4.  `idUser` MEDIUMINT UNSIGNED NOT NULL,
    5.  `message` TINYTEXT NOT NULL,
    6.  `dateCreation` DATETIME NOT NULL
    7.  );
    8.  
    где message - содержит название темы (255 символов)
    В таблицу, помимо "названий тем" будут записываться названия "разделов" форума.

    Посоветуйте, какой из вариантов лучше?

    P.S. На некоторых форумах (в частности, на этом), для каждого сообщения в уже открытой теме можно писать свой заголовок. На других форумах, заголовок фигурирует только как название темы (что, в общем-то логично). Как тогда лучше: сделать возможность писать для каждого поста собственный заголовок; или, заголовок допустимо писать только при создании новой темы?

    P.P.S. Что я делал раньше, уже подзабыл. Сейчас, вроде как, опять "с нуля" начал. Обнаружил улучшения - раньше подключался к БД посредством mysql, теперь при помощи mysqli - код получается короче. Тренируюсь на локальном "OpenServer". Хостин у меня есть, но тариф самый дешевый, без поддержки PHP и MySQL. Потом, когда более-менее работоспособное творение на локальном хостинге получится - перенесу на нормальный хостинг... если, опять на проект не "забью".
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Подскажите стандарты для форума под управлением PHP и My

    Как ты сам заметил, в реале используют оба варианта. Лучшесть это субъективная оценка.
    Лично я не понимаю нахуа каждому комментарию свой заголовок. Они почти всегда просто копия первого, поэтому их перестают видеть.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    "Движок", отвечающий за создание нового сообщения и новой темы один и тот же в ПХПбб. Сообщение, над которым нет других сообщений, автоматически считается темой. Тут вообще в этом плане каша. В итоге решили "И тааак сойдет". И оставили поле для ввода заголовка, чтобы не ковырять остальное.

    Добавлено спустя 1 минуту 27 секунд:
    Re: Подскажите стандарты для форума под управлением PHP и MySQL
    Технически - это архитектурный баг, который выдали за фичу.
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Не соглашусь с вами, мсье сурикат

    а вот и не соглашусь. это позволяет создать тред в треде. ты видел комменты в жж скажем? там тоже свой заголовок у каждого комментария к посту.
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    И древовидная, а не линейная структура. Это важно.
     
  15. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Подскажите стандарты для форума под управлением PHP и My

    ГовноЖЖ:

    [​IMG]

    О*уительно "удобно", правда?

    Добавлено спустя 51 минуту 35 секунд:
    Re: Подскажите стандарты для форума под управлением PHP и MySQL
    А вот у themeforest более продуманный вариант - только два уровня, чётко выделенных стилями:

    [​IMG]
     
  16. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    Систематизация CMS форума (как я ее осознаю)
    1. Конференция – это центральная страница (index.php)
    2. В ней содержится перечень форумов, например, таких: "Вопросы от блондинок" (viewforum.php?f=14), и др.
    3. Форумы со схожей тематикой собраны в группы форумов, например: группа "Прочее" (viewforum.php?f=33)
    4. В форумах содержится перечень тем.
    5. В темах содержится перечень сообщений.

    Я правильно определил узлы CMS?

    P.S. При правке пользователем своих сообщений, они в базе данных перезаписываются, или создается новое сообщение (с исправленным текстом), которое помещается в теме на место старого, а старое открепляется от темы но остается в БД (на случай, если понадобиться "восстановление переписки")? И, тот же вопрос, на счет "удаления сообщения".
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Подскажите стандарты для форума под управлением PHP и My

    ну как-то так. категории → форумы → темы → сообщения.

    при правке запись просто update-ится. поэтому адрес отредактированной записи не изменяется.
    там, где нужна история, создают отдельную таблицу ревизий.
     
  18. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    Подскажите, пожалуйста:
    1. Напротив каждого форума (в качестве образца, наш форум), в соответствующей графе указано: количество тем; количество сообщений; последнее сообщение.
    2. Напротив каждой темы, в соответствующей графе указано: количество ответов (оно же, количество сообщений); количество просмотров; последнее сообщение.
    Вопросы:
    Количество тем и сообщений, вычисляется выборкой из БД, при каждой загрузке клиентом страницы (и ни где не хранится)? Или информация по количеству хранится в определенном месте, и корректируется, сразу же, при добавлении, переносе или удалению сообщений (или тем)?
    Где хранится количество просмотров темы?
     
  19. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Re: Подскажите стандарты для форума под управлением PHP и My

    все подобные значения хранятся в полях-счетчиках, естественно. изменяются сразу же при добавлении/удалении/переносе соотв. элементов.

    тебе найти описание реальных таблиц движков или ты будешь сам решать на свой вкус? что-то не вижу смысла в твоих распросах.
     
  20. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Re: Подскажите стандарты для форума под управлением PHP и My

    SELECT count(*) FROM
     
  21. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    artoodetoo, Abyss: Спасибо.
    Для самообразования, пишу функционал CMS форума с нуля, руководствуясь внешней похожестью (по виду и работе) с другими форумами - для того, чтобы вообще понимать (при чтении документации по созданию форумов) о чем в документации говорится. Особенность психики у меня такая - понимаю только то, что могу сравнить с тем, что сам сочинил для того же дела.

    P.S. По поводу реальных таблиц движков: Сначала хотел согласиться, но потом решил не поддаваться искушению. Буду "решать на свой вкус", а потом сравню. Даже, если неправильно окажется - в процессе самостоятельного нахождения решения освою различные приемы программирования. :)
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Подскажите стандарты для форума под управлением PHP и My

    заебёшься считать. Денормализация всякой некритичной херни типа числа тем - это хорошо.
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Re: Подскажите стандарты для форума под управлением PHP и My

    А может просто имеет смысл тупо хранить число, которое будет увеличиваться и уменьшаться, когда требуется?
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Подскажите стандарты для форума под управлением PHP и My

    это и есть денормализация. Оно расходится иногда. Всё равно иногда придётся производить правильный перерасчёт.
     
  25. Геон

    Геон Активный пользователь

    С нами с:
    23 июл 2013
    Сообщения:
    40
    Симпатии:
    0
    Адрес:
    из Москвы
    Re: Подскажите стандарты для форума под управлением PHP и My

    Подскажите, пожалуйста:
    1. Что должно происходить с темой, если из нее удалить все сообщения?
    2. При удалении темы, сообщения в нее входящие должны удаляться (или, пусть валяются в БД, оторванные от темы)?
    3. При удалении форума, что должно происходить с темами в этом форуме?
    4. Если модератор сливает одну тему в другую – как располагаются перелитые сообщения (пришлые посты записываются после последнего поста-аборигена, или располагаются вперемешку – то есть, пост, чья дата написания древнее, тот идет впереди)?