Un semplice form con textarea e un input submit che invia il contenuto ad una pagina php è sufficiente.
Esempio:
Codice PHP:
<form action="inserimento.php" method="POST">
<input class="text" type="text" size="40" name="nome" id="nome" />
<textarea rows="7" cols="50" id="testo" name="testo"></textarea>
<input type="submit" value="Invia testo" />
La pagina PHP riceve in POST i dati che va poi ad inserire in un file di testo (o HTML).
Nella prima parte andremo a rimuovere gli slash di troppo
Codice PHP:
function stripSlashes_($string) {
$string = str_replace("\\\\\"", "\\"", $string);
$string = str_replace("\\\\\\'", "\\\'", $string);
$string = str_replace("\\\\\\\\", "\\\\", $string);
return $string;
}
function removeHacks($string){
$string = str_replace("<", "<", $string);
$string = str_replace(">", ">", $string);
return $string;
}
function restoreTags($string){
$string = str_replace("<b>","[b]", $string);
$string = str_replace("</b>","[/b]", $string);
return $string;
}
$testo=restoreTags(stripSlashes_(removeHacks($_POST['testo'])));
Questo elimina i tag HTML eventualmente inseriti (altrimenti il tutto diventa pericolosamente esposto a d attacchi XSS) attraverso la funzione removeHacks, ripristina eventuali elementi B (bold) e rimuove gli slash che automaticamente vengono generati in prossimità di caratteri come gli apici.
Successivamente andremo ad "appendere" il testo nel nostro file:
Codice PHP:
$file1="fileDiTesto.txt";
if (!file_exists($file1)) {
$c_data = fopen($file1,"w+");
fwrite($c_data,"");
fclose($c_data);
}
else {
echo 'testo inserito con successo:
' . $testo;
$c_data = fopen($file1,"a");
fwrite($c_data, $testo. "\n");
fclose($c_data);
}
La soluzione migliore sarebbe trasformare il file di testo in HTML aggiungendo elementi come br per andare a capo, titoli (h1,h2,h3..) etc.. in modo da rendere migliore la successiva visualizzazione.