Buonasera,
Sto prnado ad integrare una sorte di guestbook, che poi non sarò tale ma servirà soltanto all'inserimento di notizie su uyna pagina di una intranet, che sfrutta un foglio txt invece di un database.
Lo script che ho usato funzionba tutto, ma non riesco ad avre i record inseriti in con un ordine inverso a quello di inserimento, cioè i nuovi messaggi sopra e poi via discorrendo, ma mi vengono sempre elencati a partire dal primo.
Credo di aver capito che il parametro che va influire su questo sia quello presente nella seguente riga
$fp = fopen($file,"a");
presente nella pagina che processa i messaggi inseriti, ma non riesco a venirne a capo.
O potrebbe essere il modo in cui viene scritto il file txt che uso come db, che aggiunge le righe alla fine del file e magari potrebbe essere una soluzione quella di insierle all'inizio.
Comunque per infoirmazione questi sono i due codici che utilizzo.
Nella pagine index
codice:
<?php
$file = "guestbook.txt";
if (fopen($file, "r")) {
$fil = "guestbook.txt";
$fo = fopen ($fil, "r");
$con = fread ($fo,filesize ($fil));
fclose ($fo);
echo "$con";
} else {
echo "<h3>Sorry there was an error please contact us now<h3>";
}
?>
in quella di inserimento dei messaggi
codice:
<form method="post" action="addguestbook.php">
<div align="center"></div>
<div align="center"></div>
<div align="center" class="style1"></div>
<div align="center"><span class="style1">Name:</span><br />
<input name="name" type="text" size="30" maxlength="40" />
<br />
<br />
<span class="style1">Message:</span><br />
<textarea name="msg" cols="22" rows="6"></textarea>
<br />
<br />
<input type="reset" value="Reset" />
<input type="submit" value="Send" />
</div>
e questa è quella che mi processa i messaggi e mi reindirizza all'index
codice:
<?php
$file = "guestbook.txt";
$name = $_POST['name'];
$msg = $_POST['msg'];
$msg = stripslashes($msg);
$name = stripslashes($name);
$msg = str_replace ("<","<",$msg);
$msg = str_replace ("\n","<br>",$msg);
$name = str_replace ("<","<",$name);
$name = str_replace ("\n","<br>",$name);
if(empty($name) || empty($msg)) {
echo "<h3>Sorry all fields are required</h3>";
} else {
$fp = fopen($file,"a");
fwrite($fp, '
<font size="3">
<BR>
<b>'.$name.'</b><BR>
'.$msg.'<BR>
');
fclose($fp);
echo '<font size="3"><p align="center">Thank you '.$name.' for singing my guestbook</p></font>';
}
Grazie mille come sempre.