Salve a tutti,
Scrivo qui nel forum dedicato al PHP perchè ho appena installato sul mio sito uno script molto semplice per un guestbook.
http://it.marcolodovichi.com/guestbo...book.php?row=0
Vi sono sostanzialmente due campi, uno per il nome dell'autore del messaggio inviato ed uno per il messaggio (per il mio guestbook non mi interessano altri dati) lo script non necessita di database, ma registra tutto su un file di testo.
E' uno script semplice, ma molto funzionale....ha solo un problema, cioè che inserendo l'apostofo nel testo del messaggio questo viene male interpretato poi dal PHP cioè:
Se io scrivo la frase:
"Che cosa c'è?"
Lo script poi la interpreta pubblicandola sulla pagina in questo modo:
"Che cosa c\'è?"
Per carità non è un problema di sicurezza o nulla di così grave, potremmo definirlo un vezzo grafico di layout...però visto che l'italiano fa molto uso di apostrofi, sarebbe meglio nno lo facesse.
Qualcuno saprebbe dirmi se è possibile e come è possibile evitare questo in PHP?
Posto il codice file readbook.php
----------------------------------
Codice PHP:
<?php
$fileName = file ("guestbook.txt");
$rows = count ($fileName);
if ($rows > 10)
{
if (!isset ($row) )
{
$row = 0;
}
print ("<table><tr><td width=\"50%\">");
if ($row > 0)
{
echo "<div><< <a href=\"readbook.php?row=" . ($row - 10) . "\">Next 10</a></div>";
}
print ("</td><td width=\"50%\">");
if ( ($rows - $row) > 10)
{
echo "<div><a href=\"readbook.php?row=" . ($row + 10) . "\">Previous 10</a> >></div>";
}
print ("</td></tr></table>");
for ($i = $row; $i < ($row + 10); $i++)
{
echo $fileName [$i];
}
}
else
{
for ($i=0; $i < $rows; $i++)
{
echo $fileName [$i];
}
}
?>
Codice file addbook.php
---------------------------------------
Codice PHP:
<?php
if ($message != '')
{
$message = str_replace ("\n","
",$message);
$message = strip_tags ($message, '
');
$newRow = '<div>' . ($message) .
'
[b]' . date('d.m.Y H:i') . ' - ' . strip_tags ($name) .
'[/b]</div><hr width="100%" size="1">';
$oldRows = join ('', file (guestbook.txt') );
$fileName = fopen ('guestbook.txt', 'w');
fputs ($fileName, $newRow . chr(13) . chr(10) . $oldRows);
fclose ($fileName);
}
include ("readbook.php");
?>
E infine il codice del modulo di invio messaggio
-------------------------------------------------
codice:
<div>
<form action="addbook.php" method="post">
Message
<textarea name="message" cols="50" rows="7"></textarea>
Name
<input type="text" name="name" size="48">
<input type="submit" value=" Submit ">
</form>
</div>