komentator na plikach

Forum poświęcone skryptom, językom programowania, serwerom i hostingowi, domenom itp.
Darom
Posty: 92
Rejestracja: 25 sierpnia 2008, 07:07

komentator na plikach

Post autor: Darom » 17 stycznia 2011, 19:46

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.

Jesli chodzi o te komentarze w tabelce to udalo mi sie przygotowac tylko cos takiego:

Kod: Zaznacz cały

<fieldset style="border:1px solid #DADADA; border-bottom:none; padding:0; margin:0;"> 
<legend> <font color="#0033cc"> <b>Komentarze</b> </font></legend> 
<strong>   {author}</strong> ({date}) <b>napisał(a)</b> 
<p style="padding:2px; background-color:#ECEEEE">{comment}</p> 
</fieldset>
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:

Kod: Zaznacz cały

<script>

function walidacja(thi)
{
   var blad = false;
   var wzor = /\s/g;

   if(thi.nick.value.replace(wzor, "").length == 0)
      blad = true;
   if(thi.pole.value.replace(wzor, "").length == 0)
      blad = true;      
        
   if(blad)
      document.getElementById('blad').innerHTML = "&nbsp; &nbsp;» Prosze wypełnić wszystkie pola !"
   else
      thi.submit();    
}

</script>

<div class="news">
   <form method="post" class="formularz" action="send.php?id=<? echo $_GET['id']; ?>" onsubmit="walidacja(this);return false;"><br />
      <p>
         &nbsp; &nbsp;Komentarz<br>
         &nbsp; &nbsp;<textarea name="pole" cols="42" rows="6" style="background-color:#FFCCFF;"></textarea>
      </p>
      <p>
         &nbsp; &nbsp;Podpis<br>
         &nbsp; &nbsp;<input type="text" name="nick" size="54" style="background-color:#FFCCFF;">
      </p>
      <div style="text-align:left;padding:4px;">
         <input type="hidden" name="action" value="1">
         &nbsp; <input type="submit" value="Send">
      </div>
   </form>
   <div id="blad" style="color:#ff0000;font-weight:bold;"></div>
</div>


<?php

if(isset($_POST['action']) && $_POST['action']==1)
echo <<< SER
      Nick: {$_POST['nick']}<br>
      Komentarz: {$_POST['pole']}
SER;

?>
W pliku send.php (plik wyslij.php juz mam na serwerze) zrobilbym tak:

Kod: Zaznacz cały

<?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 serwerze) zrobilbym tak:

Kod: Zaznacz cały

<?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 '<span style="color: #222222"><b>'. $data[0] . ' | </b></span><span style="color: #E74100"><b>' . $data[1] .'</b></span><br />';
   $tresc = $data[5];
   echo ''. $tresc .'<br>';
}
?>
W pliku download.php dac to:

Kod: Zaznacz cały

<?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++;
}
?>
<fieldset style="border:1px solid #DADADA; border-bottom:none; padding:0; margin:0;"> 
<legend> <font color="#0033cc"> <b>Komentarze (<?=$comments?>)</b> </font></legend> 
<strong>   {author}</strong> ({date}) <b>napisał(a)</b> 
<p style="padding:2px; background-color:#ECEEEE">{comment}</p> 
</fieldset>
<div style="display:none;" id="show1"><?
include("show.php");
?></div>
<div style="display:none;" id="add1"><?
if($_GET['wyslano']==1) echo '<p style="text-align: center"><span style="color:#ff0000;">» Ten program już był komentowany !</span></p>'; else include("add.php");
?></div>
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 moglby mi ktos poprawic te kody na takie, zeby bylo tak jak chce miec w dziale download ? Bardzo prosze Was o pomoc w tej sprawie.

ODPOWIEDZ

Wróć do „Webmastering”