Komentowanie pobieranych plikow


(Darom82) #1

W jaki sposob na mojej stronce: http://www.history.is.net.pl/?download&cat=0 zrobić mozliwośc komentowania pobieranych plików ?

Tak jak jest to tutaj zrobione: http://www.phpbbhelp.pl/archiwum/download.php?d=585

Pisze pogrubionym czarnym komentarze (ilość komentarzy) i jest tam widoczna taka belka, ze kazdy komentarz w innej tabelce.

Jak takie cos zrobic u mnie na stronce ? Fajnie by było na pliku txt.


(system) #2

Coś jak wysyłanie formularzu to tabeli , z wypisaniem w niej danych ze wskazanej strony jest to tak zrobione :


(Marcin E Pc) #3

To troche bardziej skomplikowane. Jak ja bym miał takie coś zrobić, to napewno ścieżki do plików byłyby zapisane pod jakimś id. Następnie przy pierwszym dodaniu pliku tworzyłbym dokument tekstowy o nazwie takiej jak unikalne id i do niego dodawał komentarz.

Następnie przy kolejnej próbie dodania komentarza otwierałbym plik z opcją zapisu na końcu pliku i tam dopisywał komentarze. Potem do każdego pliku, do którego link dodajesz też komentarze pod spodem. Wyglądałoby to tak, że otwierasz plik, kolejne komentarze formatujesz przy użyciu php (np na początku postu dodajesz znacznik i potem korzystasz z funkcji explode(); i przechwytujesz do jakiejś tablicy komentarze).

Pamiętaj aby się zabezpieczyć przed tym, jak ktoś powpisuje jakieś dziwne wartości do komentarza (HTML, SQL injection).

Pozdrawiam

Edit. Widzę że masz na swojej stronie już system komentarzy. Możesz go wykorzystać ponownie. Nie sądzę abyś robił to OOP, wtedy można by wykorzystać dziedziczenie. Poprostu musisz dostosować to co masz wyżej napisane, i przerobić swój skrypt tak żeby zapisywał/wyświetlał komentarze do plików.


(Darom82) #4

ptasior a czy mialbys chwilke czasu i moglbys mi przy tym jakos pomoc to zrobic ?

Bo np. jesli chodzi o te komentarze w tabelce to udalo mi sie przygotowac tylko cos takiego:

{author} ({date}) napisał(a)

{comment}

I teraz reszte kodu niewiem jak napisac. Ale chcialbym miec to zrobione na pliku txt. Moglbym to zrobic tak, ze w pliku add.php (plik dodaj.php juz mam na serwerze) zrobilbym tak:

   Komentarz        Podpis    
 

<?php if(isset($_POST['action']) && $_POST['action']==1) echo <[/code] W pliku send.php (plik wyslij.php juz mam na serwerze) zrobilbym tak:
[code]<?php if ($_GET['wyslano']!=1) { if(empty($_POST['nick']) || empty($_POST['mail']) || empty($_POST['www']) || empty($_POST['temat']) || empty($_POST['pole'])) { header('Location: http://www.history.is.net.pl/?news&id='.$\_GET['id'].'&wyslano=1'); } $nick = $_POST['nick']; $mail = $_POST['mail']; $www = $_POST['www']; $temat = $_POST['temat']; $pole = $_POST['pole']; $nick = HTMLSpecialChars($nick); $mail = HTMLSpecialChars($mail); $www = HTMLSpecialChars($www); $temat = HTMLSpecialChars($temat); $pole = HTMLSpecialChars($pole); $datanow = date("d.m.Y H:i"); $wynik = $datanow . '|||' . $nick .'|||'. $mail . '|||' . $www . '|||' . $temat . '|||' . $pole . "\n"; $plik = 'comments/'.$_GET['id'].'.txt'; $fp = fopen($plik, "a"); fwrite ($fp, $wynik); fclose($fp); } ?>
W pliku show.php (plik pokaz.php juz mam na serwerez)) zrobilnym tak:

<?php

if (!file_exists('comments/'.$_GET['id'].'.txt'))

{

    file_put_contents('comments/'.$_GET['id'].'.txt', '');

    chmod('comments/'.$_GET['id'].'.txt', 0777);

}


$file = file('comments/'.$_GET['id'].'.txt'); rsort($file); $file = file('comments/'.$_GET['id'].'.txt'); $file = array_reverse($file);

foreach($file as $key => $value)

{

   $data = explode('|||', $value);


   echo ''. $data[0] . ' | ' . $data[1] .'
';

   $tresc = $data[5];

   echo ''. $tresc .'
';

}

?>[/code]


W pliku download.php dac to:

[code]<?php $comments=0; $file = file('comments/'.$_GET['id'].'.txt'); rsort($file); $file = file('comments/'.$_GET['id'].'.txt'); $file = array_reverse($file); foreach($file as $key => $value) { $comments++; } ?> Komentarze (<?=$comments?>) {author} ({date}) napisał(a)

{comment}

<? include("show.php"); ?>

<? if($_GET['wyslano']==1) echo '

» Ten program już był komentowany !'; else include("add.php"); ?>

Czy dobrze to robie ? Pliki w nawiasach z polska nazwa mam juz na serwerze do innego komentowania na mojej stronce.

Czy jesli jest cos nie tak to moglbys mi poprawic te kody na takie, zeby bylo tak jak chce miec w dziale download ? Bardzo prosze o pomoc w tej sprawie.