<?php // nazwa pliku z trescia komentarzy $nazwa = ‘komentarze.txt’; // zapis jesli co wyslano z formularza if($_POST[‘tytul’] & $_POST[‘tresc’] & $_POST[‘autor’]) { $fp=fopen($nazwa, ‘a’); flock($fp, 2); fwrite($fp,$_POST[‘tytul’].’||’.strip_tags(strtr($_POST[‘tresc’],’\n’,’ ‘)).’||’.$_POST[‘autor’].’\n’); flock($fp, 3); fclose($fp); } // jezeli juz istnieja jakies komentarze if(is_file($nazwa)) { $linia = explode(’\n’,file_get_contents($nazwa)); $ilosc = count($linia); for($i=0; $i<$ilosc; $i–) { $komentarz = explode(’||’,$linia[$i]); echo ‘’.$komentarz[0].’’.$komentarz[1].’’.$komentarz[2].’’; } } else echo 'Jeszcze nie ma zadnych komentarzy. Badz pierwszy i skomentuj! '; ?> [/code] wszystko działa, jednak chciałbym, by nowe komentarze wyświetlały się u samej góry. podejrzewam, ze odpowiada temu linijka:
[code]for($i=0; $i<$ilosc; $i++)
jednak gdy zamieniam $i++ na $i-- strona się zawiesza. i ładuje wiele razy
gdy dam tak:
for($i=$ilosc; $i>=$ilosc-6; $i–)
wyświetla się 5 ostatnich komentarzy.(z błędem) dodaje przed pierwszym komentarze
wielokrotnie.
ale chciałbym wszystkie komentarze wyświetlać z tym, że od najnowszych (u góry)
Po co przy zapisie strstr?? Przed zapisem do pliku koniecznie przefiltruj dane. Ale czy nie lepszym (wygodniejszym) rozwiązaniem będzie coś takiego. Przy zapisie podmień na tą linijkę