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.