[PHP] problem dla cierpliwych... :)

0

Dobra - będę szczery. Niech ktoś mi z tym pomoże, to zarobi kilka punktów.

Wymyśliłem sobie taki oto system dodawania newsów. Na pierwszej stronie na razie mam formularz z textarea o nazwie "news". Dane te są przesyłane poprzez action=plik.php method=post.

Strona z newsami to tekst.php. Ma ona miej wiecej taki format:

  • informacje nagłówkowe
  • newsy
  • dalej inne informacje.

I teraz działanie pliku plik.php ma zmieniac plik tekst.php w taki sposób: (oto procedura w pliku plik.php)

<script language=php>

$data=date(d-m-y);
$plik="../tekst.php";
$file=fopen($plik, "r+"); /* otwiera plik /
flock($file, 1); /
blokuje plik /
$s=fread($file, $maxlen);
flock($file, 3); /
odblokowuje plik /
fclose($file); /
zamyka plik */

$x=explode("<!-- news // -->", $s);
$i=count($x);
IF ($i<11)

{
$plik="../tekst.php";
$file=fopen($plik, "w"); /* otwiera plik /
flock($file, 1); /
blokuje plik */
fwrite($file,$x[0], $maxlen);

fwrite($file, '<!-- news //-->');
fwrite($file, '<table align="center" width="450" border="0" background="./images/news.jpg"><tr><td><b><font color=white>      ');
fwrite($file, $data, $maxlen);
fwrite($file, '</font color></b><br><br>');
fwrite($file, $news, $maxlen);
fwrite($file,'</td></tr></table><!-- news //-->');

// FOR ($i=1; $i=count($x); $i++);
// {
// fwrite($file, $x[i], $maxlen);
// }

flock($file, 3); /* odblokowuje plik /
fclose($file); /
zamyka plik */

}

</script>

Wyjasnienie:

pomyślałem sobie, że można cały tekst z pliku tekst.php podzielić przez explode na tablice, aby program wiedział ktory to news, a który nie. "Rozdzielacz" to jak widać komentarz "news" w htmlu. Czy jest tak:

  • informacje nagłówkowe
  • komentarz (rozdzielacz)
  • news 1
  • komentarz (rozdzielacz)
  • news 2
  • komentarz (rozdzielacz)
  • news 3
  • komentarz (rozdzielacz)
  • inne dane.

Jak widać w/w przykład pokazuje dla 3-ech newsów. Procedura powyższa na razie działa dla ilościu newsów mniejszej niż 9, bo przy wiekszej ma kasować ostatni news.

..i teraz kto mi pokaże co mam zle. Po prostu działanie to coś "psuje" i w ogóle nie wyświetla newsa, ani daty, tylko samą tę tabele.

Zatem, kto się zna i ma troche czasu = proszę o pomoc.

0

Po co modyfikujesz plik PHP? Takie rozwiazanie jest bez sensu... Jezeli chcesz juz napisac system newsow, to uzyj bazy danych lub plikow tekstowych, w ktorych bedziesz trzymal newsy - nie dopisuj bezposrednio do pliku PHP.

W pliku tekstowym mozesz trzymac poszczegolne wiadomosci, odzielone - np. znakiem ASCII = #1 lub innym... Nastepnie po odczytaniu zawartosci jedynie funkcja split() i juz masz newsy!

0

Ja mam taki system nusow:

Wszystkie niusy sa zapisywane do pliku tekstowego. Jedna linia to jeden news. Znaczy sie w jednej linijce jest zapisana DATA, kto podal news i news. Sa one oddzielone kodem (nie jedena litera zeby nikt tego nie wpisal). Czy mozna teraz je oddzielic poleceniem explode i wstawiac na strone? Czy to jest dobry wsposob??

1 użytkowników online, w tym zalogowanych: 0, gości: 1