как зделать добавление коментариев к статьям на сайте?

Тема в разделе "PHP программирование", создана пользователем typak, 27 янв 2011.

  1. typak

    typak Гость

    Ребята как сделать добавление коментариев к каждой статье на сейте. Шоб пользователи могли оставлять коментарии, как это делается, спомощью каких алгоритмов?
     
  2. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    С помощью HTML, PHP, MySql
     
  3. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Скачай бесплатный новостной модуль с поддержко коментариев. А дальше разберешся сам
     
  4. typak

    typak Гость

    Понятно шо с их помощью. Тока порядок какой?
    Тут наткнулся на инфу так с таво поста понял шо нужно:

    1. Создать таблицу в которую будут заносится коментарии.
    Таблица содержит минимум 5 полей:
    id - таблицы коминтариев;
    id - таблицы статьи к которой относится коментмрий;
    name - имя автора коментария;
    text - текст сообщения;
    date - дата добавления;

    2.Создаем програму оброботчик которая будет заносить данные в таблицу коментариев.
    //отут у меня затруднения как присвоить переменной $date текущее время?
    может так: $date=date(now)? А так всё остальное разьяснений вроде пака нетребует.

    3.Выводим сообщения из таблицы коментариев, с полями id-нужной статьи и сортируем их по дате добавления.//здесь тоже вроде как подобное уже делал со статьями вопросов помоему нет пака.

    4.Вывод самой формы добавления коментария.//здесь просто делается обычная форма с двумя полями. По этому пункту само собой у матросов нет вопросов.

    Ну чтож щас буду пытатьс выполнить для меня то эта задача нитакая и легкая, так как опыта пака моловато,
    вообщем по мере выполнения если будут появлятся какието вопросы буду тут писать, а каму интересно в конце,
    если всё получится выложу готовый скрип СИСТЕМА ДОБАВЛЕНИЯ КОМЕНТАРИЕВ НА САЙТЕ.
    Я думаю шо начинающим будет интересно, потому что токачто сам наверно часа 3 - 4 гуглил пока ненаткнулся на статейку,
    которая хоть чуть чуть просветила. Вообщем ПОЕХАЛИ !!!!!! Ночь впереди. Луна еще высоко. :D

    Добавлено:
    Да незнаю чота мне кажется проще самому написать чем в чужом коде капаться ?
    Недавно форум простенький готовый скачал так там фиг шо поймеш шо куда и шо зачем нужно.
     
  5. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    "Да незнаю чота мне кажется проще самому написать чем в чужом коде капаться ?"
    Тебе не проще.

    Писа́ть безграмотно — значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе.

    5wyutctyb04e.jpg
    И медальку ему.
    000cskwy.jpg
     
  6. typak

    typak Гость

    Та у меня по русскому тройка была. Грамотно неумею писать. Зато говорю грамотно. Да и вообще мыж то пишем шоб мысль донести.
    Можна конечно в worde писать.
    Писать безграмотно - это значить что грамотно неумееш

    Как напишу 1 000 статей се на сайт тода научусь грамотно писать дело времени. Москва несразу строилась.
     
  7. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    :D
    Интересно а как вы кодите ??
     
  8. typak

    typak Гость

    Та пока можна сказать НИКАК тока начинаю.
    Надейся и жди вся жизнь впереди.
    У мня еще все впереди.

    Та то шо по русскому тройка то ничо незначит зато вышка и физика пятёрка всегда были.

    Щас выложу готовый скриптец если получится можете заценить.
    Новичок для новичков старается.

    Уже почти докодил пару строк осталось да ити по делам нада . ДЕЛА НЕЖДУТ.
    Ночью доделаю.
     
  9. typak

    typak Гость

    Вообщем доделал скрипт кое как вообщем код обработчика сообщений:
    Код (Text):
    <?php
    include ("adds/db.php");
    $date = date("Y.m.d H:i:s");
    //Проверка существования переменных
    if(isset($_POST['id_page'])) {$id_page = $_POST['id_page'];} if($id_page == '') {unset($id_page);}
    if(isset($_POST['author'])) {$author = $_POST['author'];} if($author == '') {unset($author);}
    if(isset($_POST['text'])) {$text1 = $_POST['text'];} if($text1 == '') {unset($text1);}
    //Формирование запроса на добавление комментария
    if(isset($author) && isset($text1) && isset($date) && isset($id_page))
    {
    $sql_insert = mysql_query("INSERT INTO `komentar` (id_page,author,text,date) VALUES('$id_page','$author','$text1','$date')");
    if(!$sql_insert) {echo "Невозможно выполнить запрос на добавление сообщения. Код ошибки:";
    exit(mysql_error());}
    }
    else {exit("Вы заролнили невсе поля");}
    $b = $_SERVER['HTTP_REFERER'];
    header('Location: '.$b.'');//возврат на страницу
    ?>
    А от код на странице:
    Код (Text):
     <?php
    include ("adds/db.php");
    if(isset($_GET['id'])) {$id = $_GET['id'];}
    else {$id = 1;}
    $res = mysql_query("SELECT * FROM `arts` WHERE id = '$id'", $db);
    if(!$res) echo "Ошибка запроса напишите администратору.";
    if(!mysql_num_rows($res)) echo"Таблица несодержит строк";
    $result = mysql_fetch_array($res);
    $view = $result['view']+1;
    $rr = mysql_query("UPDATE `arts` SET view = '$view' WHERE id = $id", $db);
    if(!$rr) echo "Невозможно зделать запрос обновления сщетчика";
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <meta name="keywords" content="<?php echo $result['meta_k'];?>" />
    <meta name="description" content="<?php echo $result['meta_d'];?>" />
    <title><?php echo $result["title"];?></title>
    </head>
    <body>
    <table width="800" border="1">
    <tr>
    <?php include ("adds/header.php");?>
    </tr>
    <tr>
    <?php include ("adds/menu.php");?>
    <td width="590"><?php
    do{
    printf("<h1> %s </h1><a href='arts_list.php'><<назад</a> <p>%s
    <br><p>Дота добавления: %s. | Количество просмотров: %s.<hr>",
    $result["title"],$result["text"],$result["date"],$result["view"]);
    }while($result = mysql_fetch_array($res)); 
    ?>
    <?php

    //if(isset($author) && isset($text1) && isset($date)){
    $sql_select = mysql_query("SELECT * FROM `komentar` WHERE id_page='$id' ORDER BY id");
    $com = mysql_fetch_array($sql_select);
    if($com["id"]>=1)
    do{
    printf("<div><p><h3>Автор: %s</h3></p><br>
    <p>дата добавления: %s</p>
    <p>Текст сообщения:</p>
    <p>%s </p><br>", $com['author'],$com['date'],$com['text']);
    }while($com = mysql_fetch_array($sql_select));

    ################################################################################
    #

    ?>
    <?php
    echo "<hr><hr coler='red'><h2>Добавить коментарий</h2>";
    print <<<HERE
    <form name="forma" action="coment.php" method="post">
    <p>
    <p><label>Введите ник:<br>
    <input type="text" name="author">
    </label>
    </p>
    <p><label>Введите текст коментария<br>
    <textarea name="text" cols="60" rows="5"></textarea>
    </label>
    </p>
    <label>
    <input name="id_page" type="hidden" value='$id'>//скрытое поле id без него никак.
    <input type="submit" name="Submit" value="Отправить">
    </label>
    </form>
    HERE;
    ?>



    </td>
    </tr>
    <tr>
    <?php include ("adds/fooler.php");?>
    </tr>
    </table>

    </body>
    </html>
    100% рабочий скрипт там тока всего навсего нужно его чуть чуть подредактировать
    а ток всё вроде нормально работает.
    Спс всем за помощь

    P.S. Сам задал вопрос и сам ответил чота форум сонный_))))-))))
     
  10. typak

    typak Гость

    Да так это уже половина фурума
    Тема есть коментарии есть к теме типерь нужно тока зделать регистрацию пасажиров и вывод тем по разделам
    и может еще чо...???

    Кто может написать по пунктам план создания форума ?
    Заранее благодарен
     
Загрузка...

Поделиться этой страницей