Dunque, dato che la chattata è solitamente molto lunga, ho preferito metterla in un iFrame in modo da poterla fare scorrere in automatico verso il basso, ovvero verso l'ultimo messaggio.

Attenzione, creo 2 file
message.txt
message.php
Nel primo metterò semplicemente il testo, nel secondo il codice che poi mi restituirà la pagina in iFrame.

Codice PHP:
//Definisco l'iframe
print "<iframe src=\"messages.php\" width=\"820\" height=\"420\">";
print 
"</iframe></div>\n";

//Modulo di invio messaggio
echo <<<FORM1


<font size="-1"> //questo puoi toglierlo, l'ho messo per esigenze mie!
<form name="chat" method="post" action="questofile.php">
<input type="text" name="message" size="70">
<input type="submit" value="Invia"></form></font>
FORM1;


//HEADER E FOOTER

$header "<html><head>\n".

//faccio il refresh ogni 10 secondi
          
"<meta http-equiv=\"refresh\" content=\"10\">\n"
          
"</head>\n".

//ad ogni refresh la pagina si sposta verso il basso, ovvero verso 
//l'ultimo messaggio, così:
          
"<body bgcolor=\"#B9DFFF\" text=\"#000000\" onload=\"location.href='#bottom'\">\n"

//riferimento del 'location', deve stare in fondo alla pagina
$footer "<a name=\"bottom\"> </a>\n</body>\n</html>"

//PREPARAZIONE MESSAGGIO

$message htmlspecialchars($message);
$message trim($message);

$new_message "<font size=\"2\" color=\"#000000\">".

//se vuoi mettere l'ora accanto al nick in ogni messaggio
    
"[$variabiletime -]"
    
"<font size=\"3\" color=\"#000080\">[b] $nick: [/b]".
    
"<font color=\"#000000\">$message</font>
"



//SCRIVE SU FILE

$filename "messages.txt";

//se il messaggio è vuoto non lo invia
if ($message != ""){
 
$open_text fopen($filename"a"); 

//[U]"a"[/U] apre in scrittura senza cancellare, posizionandoti direttamente alla fine del testo presente

//scrivo il nuovo messaggio in fondo alla pagina, ovvero per ultimo
 
fputs($open_text$new_message); 
 
fclose($open_text);
}

//una volta aggiunto il nuovo messaggio, riapro il file in lettura, 
//per prenderne tutto il contenuto
$fd fopen ($filename"r"); 

//metto nella variabile $new_text tutto il contenuto del file
$new_text fread ($fdfilesize ($filename)); 
fclose ($fd);

//adesso apro in scrittura il file message.php (e non .txt!)
//Quando apri un file con "w" puoi scriverci dentro, ma questo ti 
//cancellerà tutto il testo che era precedentemente presente 
//nel file! Quindi...
$open_file fopen("messages.php""w"); 

//Riscrivo l'Header
fputs($open_file$header); 

//Scrivo il nuovo testo (intero, non solo $new_message!)
fputs($open_file$new_text); 

//Riscrivo il Footer
fputs($open_file$footer); 
fclose($open_file); 
C'è un problema che però non ho risolto. I caratteri
'
"
\
mi vengono scritti con la barra, ovvero
\'
\"
\\
Se riesci a risolvere questa situazione (tu o chiunque altro) fammelo sapere. Sono sicuro che è una cavolata... ma io programmo in php da due settimane, comprendimi!