Ja myślę, że XML użyć do takich rzeczy jak np.
drzewo kategorii, ponieważ kategorie stosunkowo rzadko się zmienia,
i zawsze można na żywca wejść do pliku i coś zmienić.
Czyli puenta jest taka, że XML się nadaje bardziej po stronie administratora
i do przechowywania niewielikch ilośći informacji.
PS. Apropos forum, to zrobiłem już takie małe proste formu oparte na pliku
ale jest tylko dodawanie i czytanie postów, a także możliwość odpowiedzi
(a jak chce usunąć to kasuje linijkę z tym postem bezpośrednio w pliku)
zobaczcie na
www.karwiny.abc.pl(acha tylko ze w FF nie dziala dodawanie komentarzy, ale ze statystyk
wiem ze FF to tylko 5% wiec nie chciało mi się nawet robić poprawki dla FF)
to jest właśnie forum oparte na zwykłym pliku CSV.
Najważniejsze fragmenty kodu podaje niżej (jak by kogoś to interesowało)
Teoretycznie nie jest to najwydajniejszy kod jeśli chodzi o szybkość
a jednak działa i to na serwerze w stanach (bo tańszy hosting),
czyli przy kożdej komunikacji z serwerem dane sobie idą na drugą półkulę

plik CSV:
Kod
tożsamo?ć | ojciec | temat | autor | tre?ć | host
1132077753 | 0 | siemka, nowy portal? | nowy | co¶ nowego :)))))




|
1132076753 | 0 | Karwiny 100% VIKING | Viking Kager Gdynia | Karwiny z Vikingiem Gdynia!!! |
1132439866 | 1132089753 | poprawiona data | admin | został naprawiony bł±d, dotycz±cy zapamiętywania godziny | localhost |
1132439928 | 0 | aktualno¶ci | admin | W tym temacie będ± informacjeo postępach w pracy nad portalem | localhost |
1132440011 | 1132439928 | naprawiony bł±d godziny | admin | Został już naprawiony bł±d dotycz±cy godziny nadania tematów.<br>Godzina była kilka godzin wcze¶niejsza niż powinna być. | localhost |
1133221573 | 0 | dupa maryny | daniel | to jest jaka¶ dupa tej maryny | chello083144095096.chello.pl |
1133221603 | 1133221573 | odp | daniel | | chello083144095096.chello.pl |
1133221636 | 1133221573 | ljkhsdfjha | ljkhjsdhf | lkjdflkjs flksjfl ksajdflksdj<br><br>sdfnhsldkf lksdj flkjl <br>lkj4klj lk45345345<br>34534<br>5<br>4353453<br><br>4353ja@yahoo.com | chello083144095096.chello.pl |
1133411655 | 0 | hej wszystkim | wie¶niara | | ajc47.neoplus.adsl.tpnet.pl |
1133482605 | 0 | co To za Shit??

! | Twoj Stary | | karwiny.multicon.pl |
1133482738 | 1133482605 | haha | slawek | buuchacha | aje82.neoplus.adsl.tpnet.pl |
1133482909 | 0 | ktore karwiny i dlaczego akurat 3 sa najfajniejsze? | zioM | | karwiny.multicon.pl |
1133482972 | 1133482909 | jak to które | slawek | no chyba wszystkie | aje82.neoplus.adsl.tpnet.pl |
1133752050 | 0 | co jest dzidy | bejbe | | ava194.internetdsl.tpnet.pl |
select.php
<table width="800" align="center" border="0" cellpadding="3" cellspacing="3">
<tr><td colspan="4" align="right">
<input type="button" value="Odpowiedz" onClick="ShowAddBox(<?=$_GET['id']?>)" class="button">
<input type="button" value="Powrót" onClick="history.back()" class="button">
</td></tr>
<tr class="top">
<td width="90" align="center">Data</td>
<td width="60" align="center">Godz</td>
<td width="400" style="padding-left:7px">Temat</td>
<td width="250" style="padding-left:7px">Nadawca</td>
</tr>
<?
$forum = file('forum/forum.txt');
// pytanie - temat główny
for ($i=$last;$i>0;$i--){
if (trim($wiersz[0
])!=$_GET['id']) continue
; echo '<tr bgcolor="#dddddd">'; echo '<td align="center">'; echo '</td><td align="center">'; echo '</td><td style="padding-left:7px">'; echo '</td><td style="padding-left:7px">'; echo '<tr bgcolor="#eeeeee"><td colspan="4" style="padding:12px">'; }
// odpowiedzi - synowie tematu głównego
for ($i=1;$i<=$last;$i++){
if (trim($wiersz[1
])!=$_GET['id']) continue
; echo '<tr><td><br></td></tr>'; echo '<tr bgcolor="#dddddd">'; echo '<td align="center">'; echo '</td><td align="center">'; echo '</td><td style="padding-left:7px">'; echo '</td><td style="padding-left:7px">'; echo '<tr bgcolor="#eeeeee"><td colspan="4" style="padding:12px">'; }
?>
</table>
</body></html>
insert.php
<?
$br = chr(13).chr(10);
$ojciec = $_POST['id'];
$temat = trim($_POST['temat']); $nadawca = trim($_POST['nadawca']); $nazwa = 'forum.txt';
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$agent = $HTTP_USER_AGENT;
$sender = $HTTP_REFERER;
$wiersz[] = $id;
$wiersz[] = $ojciec;
$wiersz[] = $temat;
$wiersz[] = $nadawca;
$wiersz[] = $tresc;
$wiersz[] = $host;
$wiersz[] = $br;
$plik = fopen($nazwa,'a');
if ($ojciec==0
) header('location: ../'); else header('location: ../index.php?subpage=forum_select&id='.$ojciec);
?>