Здравейте!
Smirnoff, много бързо се отказваш.

Ако не става по един начин, търсиш друг. Поне аз почувствах, че напредвам, едва когато започнах да упорствам с грешките.

Кода на bafitu би трябвало да ти свърши работа, макар да не ми се струва много удачен, ако се налага работа с дълги низове (първо четеш, после отново записваш прочетенето + новия низ), но щом при добявяне на някакъв таг ти дава проблем, може би имаш грешка в синтаксиса.
Ако искаш, пусни целия код тук и ще се опитам да го подкарам.
Иначе пробвах r+ при запис и при мен не се получи, така както смятах (правил съм, какви ли не операции с файлове, но се оказа, че все съм ползвал или а+ или w+), затова ми хрумна че съдържанието на файла може да се прехвърли в масив като всеки ред е елемент в него.
Ето ти
демо: http://probna.awardspace.com/demo3/forma.htm
А ето и кода, който изпълнява задачата:
forma.htm (стандартен хтмл):
<BR><CENTER><FORM METHOD="POST" ACTION="http://probna.awardspace.com/demo3/zapis.php">
<INPUT TYPE="TEXT" NAME="ime" size="30" maxlenght=25>
<INPUT TYPE="SUBMIT" VALUE="Изпрати!" NAME="">
zapis.php (тук синтаксисът е типов, отваряме файла "tekstovi.txt" за запис със стойност "а+". За да можем след това да отделим записите, всеки запис е на
нов ред)
<?
$filelocation="/home/www/probna.awardspace.com/demo3/tekstovi.txt";
$newfile = fopen($filelocation,"a+");
fwrite($newfile, "\n$ime");
fclose($newfile);
echo "Запис!";
?>
<BR><A HREF="http://probna.awardspace.com/demo3/list.php">Виж списъка!</A>
list.php (разковничето е при листването, а не при записа. Тук правя няколко проверки защото в демото има опция за изтриване. Кода в червено е важния, ще го обясня по-долу)
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</HEAD>
<BODY>
<BR><B> ПОТРЕБИТЕЛИ:</B>
<BR>
<?
if (file_exists ("tekstovi.txt")) {
$filelocation="/home/www/probna.awardspace.com/demo3/tekstovi.txt";
$fm=file("$filelocation");
$spisyk=array_reverse($fm);
$kolko=count($spisyk);
for ($i=0; $i<$kolko; $i++){
$red=$spisyk[$i];
echo "<BR>$red";
}
}
else {
echo "<BR>Няма направени записи!";
}
?>
<BR><A HREF="forma.htm"><B>Нов запис!</B></A>
<BR><A HREF="del.php"><B>Изчисти списъка! (изтрива файла)</B></A>
</BODY>
</HTML>
И del.php, който изтрива текстовия файл, в който се правят записите:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<META HTTP-EQUIV="refresh" CONTENT="5;URL=http://probna.awardspace.com/demo3/list.php" >
</HEAD>
<BODY>
<?
$filelocation="/home/www/probna.awardspace.com/demo3/tekstovi.txt";
if (!@unlink ($filelocation)) {
echo "Няма направени записи, за да бъдат изтрити! (в нашия случай файлът не съществува)";
}
else {
echo "Списъкът бе изтрит успешно!";
}
?>
</BODY>
</HTML>
Ето и обяснението на
кода в червено:
<?
$filelocation="/home/www/probna.awardspace.com/demo3/tekstovi.txt";\\пътят до файла, името на променливата е прозивлоно, на нейното място в долния ред може да бъде и самия файл
$fm=file("$filelocation"); \\отваряме файла за четене - функцията
file(); връща масив - в нашия случай $fm[], в който всеки елемент е ред от файла. Името на масива е избрано произволно. Ако обходим този масив и го принтираме ще получим същото, което и при четене на файла, т.е. този масив в този си вид не ни върши работа, тъй като последният запис във файла е на последна позиция, а ние искаме обратното.
$spisyk=array_reverse($fm);\\пренареждаме масива $fm[] чрез функцията
array_reverse();. Тя създава нов масив, наричаме го $spisyk[]. Този масив вече е подреден "правилно" - в него последният запис от файла е на първо място
$kolko=count($spisyk);\\преброяваме елементите на масива $spisyk[], за да можем да го обходим изцяло.
for ($i=0; $i<$kolko; $i++){\\с цикъл фор обхождаме масива. По подразбиране, индексирането му е цифрово и започва от нула. Конструкцията на цикъла е типова
$red=$spisyk[$i];
echo "<BR>$red";\\листваме масива елемент по елемент като му слагаме и новия ред
}
?>
Това е основното. Ако съм преповторил неща, които знаеш, извинявай - стремях се към изчерпателност. За БД не мога да помагам, защото сега навлизам в тях. Ако имаш въпроси по кода или за работа с файлове, пиши!
Надявам се, че съм бил полезен. Успех!