Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Коментарии в новостях, дубль 2
 
 автор: Panker   (04.06.2006 в 11:03)   письмо автору
 
 

Опят ьобьсню всё очень очень понятно =)
Не давно дописал скрипт новостей, всё вро де бы ок, новости, архив новостей, добавления, удаления!
Но не как не могу оседлать коментарии!
Сначала хотел сделать по рефералу ( долгое обьяснения как хотел ) - пришёл к выводу что глупо, так как не то что бы ламается а даже случайно сломать можно было!
Давали совет про сессии, но так и не разобрался да и всем лень стало тему закрыли =)


---------

Строение новостей очнеь прсотое!
Еслть главная страница - на ней выводится все новости по 5 на старнцу!
Есть страница новостей - в ней выводятся полные нвоости, а не мелкие в отличии от галвной страницы!
Так далее, есть админка! там всё прсото!
Вводу названия новостей, заголовок (title) новостей! Ввожу адрес будущей старници! тчонее её названия что бы на новость мона было прйоти так www.site.ru/news/data/NAZVANIE.PHP
Полные нвоости записываю на отдельную странцу, мелкие нвоости и названия записываю в 1 файл разделяя || вот так =)

---------

Так вот хотелось бы сделать возможность добавления коментариев!!!
Как бы я хотел сделать! размыщления!
Веть есть большая страница оттуда мона через форму посылать в обработчик коментария ну тут понятно всё да =)
А вот оброботчик самое сложное =)

---------

1 Должен понять откуда пригшли новости ( реферал отменяется )
2 Должен создать файл и папку в директории новостей типа news/coment/ПАПКА/ФАЙЛ.DAT, в который будет записывать коментарии в последующий раз разделя какойт офункцией корчое || не помню что то с эксплоиром связан о:D lol )
4 Должен создать файл в news/coment/ПАПКА/ФАЙЛ.PHP
3 Должен дописать строку ИНКЛУД в тот файл откуда пришли новости, инклудить должен базу с сообщениями =) корчое вот этот файл news/coment/ПАПКА/ФАЙЛ.PHP

Теперь по полочкам что за чем, далее что в принципи могу сделать =)

1 Мы узнаём что для чего тчонее откуда пришли новости что бы потмо в директории новостей в директорию коментариев создать папку такую и 2 файл с названиями реферала!
Обьесняю для чего марока =)
Смотрите новости допустим тут www.site.ru/news/PANKER_NEWS.PHP
Если Юзер просто защёл то нечего страшного пусть заходит А вот ежели оставил коментарии то создаём в www.site.ru/news/coments/ папку PANKER_NEWS в неё 2 файла PANKER_NEWS 1 с расширением dat другой php, обьесняю для чего!
ДАТ файл там будет база разделёная NAME||MAIL||URL||MSG||DATA что неть типа такова!
Второй пхп марока, там надо создать файл с уже готовым кодом но не однозначными путями! ТОИСТЬ!

$base1=@file("data.php");  //база куда пишем
$base1 = array_reverse( file("data.php") ); //переворачиваем
$num=$number_page;  //Номер сообщений на странице! Менять в файле config.php
$num1=$num; 
function get_page($page) 

    global $base1,$num,$num1; 
    foreach($base1 as $k => $value) 
    { 
      if ($k<$num*$page) 
      { 
        if ($k>=$num*$page-$num1) 
        { 
        list($comments2,$name2,$mail2,$data2)=explode("||",$value); 
     echo"
ТУТ ХТМЛ ВИД ВЫВОДА
"; 
} }

Вот файл с этим кодом надо НО базу указать другую в первой вторйо строчки кода указана откуда берётся база, вот надо сделать так что бы при создании создавалась с указаным путём что бы потмо не менять, так вот =)
ну а далее просто дописать в главный файл ИНКЛУД это вот базы что бы выводились сообщения =)
ТАк что вот так вот! ДУмаю номрально обяьснил! =( У мну всё ест ькрмое коментов!
В чём проблема.... я не знаю как узнать реферала что бы создать файлы потмо дописать и вывести!
Раньеше я так и делал узновал реферала и всё было гууд! НО хеопс сказал чт орефку мона прикрыть, затем в опере нащёл такую функцию как прикрыть рефку, подумал тчо так мона весь сервак закидать и ужасов корчое наделать =)
Плиз помоги разобратся =)) а то новости делаю делаю а доделать не могу =)

   
 
 автор: Panker   (04.06.2006 в 11:12)   письмо автору
 
   для: Panker   (04.06.2006 в 11:03)
 

Создать файл я могу =))) запсиать в него вроде бы тоже смогу =)
а вот как рефку определить или как вывести именно туда куда записывалось =)

   
 
 автор: cheops   (04.06.2006 в 11:39)   письмо автору
 
   для: Panker   (04.06.2006 в 11:03)
 

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

Новости в системе имеют уникальный номер? Если да, то добавление комментария можно организовать очень просто - предоставить для этого ссылку вида
addcomment.php?id=34

где 34 - уникальный номер новости, тогда все комментарии, содержащие этот номер будут принидлежать конкретной новостной позиции. Тогда файлы можно называть по этому уникальному номеру и открывать их будет гораздо проще.

Файлы всех комментариев лучше хранить в одной директории - будет в несколько раз удоблее, тогда вам не потребуется реферер - директорию вы будете знать за ранее, а файл будет называться по уникальному номеру новости, который можно будет извлечь из GET-параметра.

   
 
 автор: Panker   (04.06.2006 в 11:46)   письмо автору
 
   для: cheops   (04.06.2006 в 11:39)
 

У меян новости выводятся так как обычная страница, и добавляется как бы с обычной страници и коментарии выводятся на обычной страници, если я где то не так понел плиз поподробней мона...

   
 
 автор: Panker   (04.06.2006 в 11:48)   письмо автору
 
   для: Panker   (04.06.2006 в 11:46)
 

Да кстати лгче при создании новости всё создовать, но овт уникальных номеров не каких нет =(
Тоисть присоздании новости создовать файл тот то и тот то!
Вы считаете что всё лучше в 1 папке коментариев хранить не создовать под папки, хотя да в этмо случаи удобней редактировать будет да и удалять тоже =)

   
 
 автор: cheops   (05.06.2006 в 02:58)   письмо автору
 
   для: Panker   (04.06.2006 в 11:46)
 

А как новость создаётся? Откуда берётся название её файла и как она подключается к системе?

   
 
 автор: Panker   (05.06.2006 в 18:23)   письмо автору
 
   для: cheops   (05.06.2006 в 02:58)
 

Название водит пользовател! подключаетя не как!
прост осощздаётся страница, а в маленькие новости пишится ссыка на подробные, вот так вот!

   
 
 автор: cheops   (05.06.2006 в 19:38)   письмо автору
 
   для: Panker   (05.06.2006 в 18:23)
 

Хм... а может лучше номер уникальный присваивать новости - и пользователя разгрузите, не нужно будет название придумывать. А можно ещё файл отдельный завести со списком всех навзаний новостей, присвоим им уникальный номер и вот уже по этому номеру ориентироваться при добавлении комментариев.

   
 
 автор: Panker   (06.06.2006 в 01:39)   письмо автору
 
   для: cheops   (05.06.2006 в 19:38)
 

Если уникальный номер будет то большая полная новость будет доступна по addcomment.php?id=34 типа такому адресу?
Просто если так то это не подходит :(
Надо что бы в полную новость можно было зайти типа news.php
как бы так...
да и желательно что бы адрес был осмыслен!
А елс ипрсото уникальный номер нужен то в своём каталоге я делал так!
Смотрел скоко строк в базе, если 1 то файлу даётся названия 2 если 2 то название 3!
Как бы так и повторений точно не будет!
Примерно так было

$n=file("mysql.php"); $total=count($text)+1;  //Считаем строки в выброном файе
$str="<a href=mysql/$total.php>$name</a>||$mini||$data";  //Пишим введённые данные пользователем

Ну что то типа такова =)
Просто я недопонел что значит уникальный номер :)
не бросайте тему во второй раз наченаю так всё подробненько :(

   
 
 автор: cheops   (06.06.2006 в 11:04)   письмо автору
 
   для: Panker   (06.06.2006 в 01:39)
 

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

   
 
 автор: Panker   (06.06.2006 в 15:10)   письмо автору
 
   для: cheops   (06.06.2006 в 11:04)
 

Тогда мона поподробней, как им присваивать его

   
 
 автор: cheops   (06.06.2006 в 19:35)   письмо автору
 
   для: Panker   (06.06.2006 в 15:10)
 

Для этого можно присваивать номера по порядку, т.е. заводим файл, где будет храниться текущий номер - и назначаем новой новостной позиции текущий номер + 1, одновременно исправляя число в файле.

   
 
 автор: Panker   (06.06.2006 в 20:00)   письмо автору
 
   для: cheops   (06.06.2006 в 19:35)
 

Какойнеть простой пример, а то не понтно ваще что куда присваивать :)

   
 
 автор: Panker   (07.06.2006 в 12:52)   письмо автору
 
   для: Panker   (06.06.2006 в 20:00)
 

уп

   
 
 автор: Panker   (08.06.2006 в 01:29)   письмо автору
 
   для: Panker   (04.06.2006 в 11:03)
 

Не отпущу эту тему =( третий месяц если не более того мучаюсь

   
 
 автор: Panker   (09.06.2006 в 01:51)   письмо автору
 
   для: Panker   (08.06.2006 в 01:29)
 

не )) куплю автомат и буду угражаь :)) ну фто мне новости без коментариев делать ? :) а? )

   
 
 автор: cheops   (09.06.2006 в 12:23)   письмо автору
 
   для: Panker   (09.06.2006 в 01:51)
 

Хм... а что вызывает сложность? У вас есть код добавления новости - добавьте туда блок, который будет определять текущий номер, увеличивать его на единицу и добавлять запись в файл уникальных номеров.

   
 
 автор: Panker   (09.06.2006 в 15:13)   письмо автору
 
   для: cheops   (09.06.2006 в 12:23)
 

Блин, я ещё с уникальным номером не разобрался! вот есть у мну новости! что дальше не знаю :) я просто не понимаю что за уникальный номер :(

   
 
 автор: cheops   (09.06.2006 в 17:23)   письмо автору
 
   для: Panker   (09.06.2006 в 15:13)
 

Уникальный номер - это номер, который отличается от других таких же номеров... обычно их просто нумеруют 1 2 3 4 5 и т.д. или испльзуют дату в формате unixstamp или каком-то другом...

   
 
 автор: Panker   (09.06.2006 в 19:45)   письмо автору
 
   для: cheops   (09.06.2006 в 17:23)
 

как :(((( мона пример какойнеть самый просто а то я ваще не понимаю кого и где нумеровать :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования