Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 575
от 22.01.2007, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 403, Экспертов: 54
В номере:Вопросов: 1, Ответов: 3


Вопрос № 71362: Здравствуйте, дорогие эксперты! Хотелось бы создать на своем сайте возможность добавления комментариев к статьям. К сожалению, мне пока трудно это сделать... Маловато знаний! Помогите, пожалуйста! Требования: 1. Комменты распола...

Вопрос № 71.362
Здравствуйте, дорогие эксперты!

Хотелось бы создать на своем сайте возможность добавления комментариев к статьям. К сожалению, мне пока трудно это сделать... Маловато знаний! Помогите, пожалуйста!

Требования:
1. Комменты располагаются друг за другом, по порядку, начиная с самого последнего то есть при добавлении коммента он ставится на первое место).
2. Возможность вставки пользователем помимо коммента имя, и-мэйл и номер аськи.

И дополнительно, если можно, то еще хотелось бы возможность редактирования своих комментариев в течение 2 дней, но не удаление, и панель адмна, из которой я бы могла удалять и редактировать любые комментарии.

Естественно, РНР на сайте имеется, базы данных тоже.

Если сможете помочь - огромное спасибо!!!!

P.S Просьба отвечать как можно яснее! Я с РНР и "Мускулом" еще не до конца разобралась.
Отправлен: 17.01.2007, 15:56
Вопрос задала: Angel7 (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Барков Илья Андреевич
Здравствуйте, Angel7!
во-первых надо создать таблицу с комментариями
от сюда 2 вопроса:
1) статьи хранятся в базе?
2) писать комментарии будут зарегистрированые пользователи или нет?
в общем 2 варианта создания таблицы.
Первый вариант для зарегистрированых пользователей:
table comments
ID_COMMENT int(9) auto_increment primary key,
ID_ARTICLE int(9) default 0,
ID_USER int(9) default 0,
TEXT text.
Второй вариант для незарег. пользователей:
ID_COMMENT int(9) auto_increment primary key,
ID_ARTICLE int(9) default 0,
U_NAME varchar(255) default 0,
U_ICQ int(9) default 0,
U_MAIL varchar(255)
TEXT text.

Суть: выбираем статью. к ней там ссылочка должна быть "Оставить комментарий (<кол-во коментов>)".
переходим на форму, где юзер заполняет все поля и вносим данные в базу.
если пользователь зарегистрированый, то берем его инфу из таблицы users по ID_USER.
если же нет - то вон поля U_>NAME,ICQ,MAIL.

p/s сорри что так кратко. убегаю уже
в ПМ пиши, помогу.

Ответ отправил: Барков Илья Андреевич (статус: 7-ой класс)
Ответ отправлен: 17.01.2007, 16:06
Оценка за ответ: 4
Комментарий оценки:
Тогда подскажите, как это все организовать - как записывать комменты в базу, как брать их оттуда и выводить их на странице... К сожалению, Вы ничего толком не объяснили... :( Вопрос по-прежнему открыт... Да, статьи не в базе.

Отвечает: Загиров Рустам
Здравствуйте, Angel7!
Во-первых, советую посетить ресурс php.su. Там много статей о связке PHP+MySQL.
Некоторое отступление о MySQL.
MySQL - СУБД, в которую можно записывать, извлекать данные с определённым условием.
Структура MySQL: База Данных=>Таблица=>Запись. То есть все данные храняться в самих таблицах, в записях. Таблиц может быть несколько. Например таблица посещения страниц. Стуктура таблицы будет такой(столбцы, поле): Время посещения страницы, ip-адрес пользователя, имя страниц. Поле должно быть определённого типа строковый, числовой и т.д. Теперь при каждом обращении к странице добавляем запись в таблицу посещения страниц.
Это только очень, очень поверхностная информация о MySQL. Для полного понимания читайте статьи о MySQL на php.su и на других источниках

Далее сама структура БД(уже предполагает что вы поняли, что и с чем едят MySQL).
Пусть статьи будут не в базе. У каждой статьи есть свой путь на сайте. Например: /articles/1.html /articles/2.html /articles/kak_sdelat_to-to.html.
Для статей нужно создать 2 таблицы:
1) Таблица статей. Она будет содержать поля: Уникальный номер статьи, Путь статьи.
CREATE TABLE `articles` (
`art_id` INT NOT NULL AUTO_INCREMENT ,
`art_path` TEXT NOT NULL ,
PRIMARY KEY ( `art_id` )
);
2) Таблица коментариев. Структура: Уникальный номер коментария, Номер статьи, Имя оставившего коментарий, E-mail, ICQ, Время, Комментарий.
CREATE TABLE `com` (
`com_id` INT NOT NULL AUTO_INCREMENT ,
`art_id` INT NOT NULL ,
`ip` VARCHAR( 15 ) NOT NULL,
`name` VARCHAR( 255 ) NOT NULL ,
`mail` VARCHAR( 255 ) NOT NULL ,
`icq` VARCHAR( 9 ) NOT NULL ,
`stamp` TIMESTAMP NOT NULL ,
`com` TEXT NOT NULL ,
PRIMARY KEY ( `com_id` )
);
В приложении написал код, полностью работающий.
Чтобы зарегистрироваться как админ, нужно в строку добавить параметр pas:
page_1.php?pas=1234

Приложение:

---------
Этот мир обречён на нас
©Сергей Маврин

Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 17.01.2007, 19:51

Отвечает: Cimus
Здравствуйте, Angel7!
Посмотрите работу скрипта в действии вот тут
Сам скрипт можете скачать вот тут

В скрипте полно коментариев, если будут вопросы, то задавайте их сюда или в личку.
Ссылки будут актуальны до 28 января.
---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 21.01.2007, 00:04


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.41 beta от 19.01.2007
Яндекс Rambler's Top100

В избранное