Witam. Przejdę od razu do rzeczy. Ćwiczę swoje umiejętności z php i zrobiłem mini system komentarzy opartych na pliku tekstowym. Niby w miarę działa, ale po dodaniu komentarza i jego wyświetleniu powstaje dodatkowa tabelka, tak jakby pętla źle działała. Można to zobaczyć na stronie www.robertoz.prv.pl.
Fragment kodu, który odczytuje komentarze z pliku tekstowego (najpierw odczytuje wiersze, potem rozbija je na tablice z danymi):
<?php
$czesci_koment = array(); // tablica, w której sa poszczególne dane
if ( (!file_exists("komentarze.txt")) || (filesize("komentarze.txt") == 0) ) //jesli plik nie istnieje lub jest pusty echo '<table id="viewcomms"><tr><td class="nocomm">Brak komentarzy</td></tr></table>';
else
{
@ $plik = fopen("komentarze.txt", 'rb'); if (!$plik) // w razie błędu
{
echo '<table id="viewcomms"><tr><td>Bład techniczny. Przepraszamy.</td></tr></table></body></html>'; }
{
$czesci_koment = fgetcsv($plik, 700, "\t"); //tablica, 0-autor, 1-czas dodania, 2-tresc, 3(opcjon.)-gg if (strlen($czesci_koment[3]) > 0) // jesli jest podane gg {
$uplynelo = intval(((time()-$czesci_koment[1
])/60
)); // czas (w minutach), który upłynał od wysłania posta
echo '<table id="viewcomms"><tr><td style="width: 130px">'.$czesci_koment[0].'</td> <td>'.$uplynelo.' minut temu</td></tr>
}
else // je?li nie jest podane gg
{
$uplynelo = intval(((time()-$czesci_koment[1
])/60
));
echo '<table id="viewcomms"><tr><td style="width: 130px"><a href="gg:'.$czesci_koment[3].'">'.$czesci_koment[0].'</a></td> <td>'.$uplynelo.' minut temu</td></tr>
}
}
}
?>