ho costruito un guestbook, che scrive e legge i messaggi da un file .txt .
Funziona tutto, solo che il guest visualizza sempre tutti i messaggi inseriti, mentre io vorrei inserire la possibilità di vedere solo una parte di messaggi (a scelta dall'ammistratore del guest).
Lo so, con il database è più semplice, ma io voglio farlo proprio con un file txt.
Qualche idea su come fare? :master:
Posto il codice della pagina guest.php
Codice PHP:
<?php include ("config.php");
?>
<style>
.titolo {
font:"Courier New", Courier, monospace;
font-size: <? echo $dimensfont?>;
color: <? echo $colorT?>;
}
.tabMess {
background-color: <? echo $sfondoTab?>;
font-family:Arial, Helvetica, sans-serif;
color: <? echo $colorFont?>;
font-size: <? echo $dimensionefont?>;
}
</style>
<table width="100%" border="0">
<tr>
<td align="center" class="titolo"><? echo $titolo_guest?></td>
</tr>
</table>
<table width="40%" height="250" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="65%" class="tabMess" ><Marquee Behavior="Scroll" Direction="up" Height="200" width="100%" ScrollAmount="2" ScrollDelay="30" onmouseover="this.stop()" onmouseout="this.start()">
<?php
// parametri di configurazione
$filename="messaggi.txt"; // file delle frasi
$delim="<"; // delimitatore di frase
// apri il file delle frasi
$fd=fopen($filename,"r");
//conta il totale delle righe, quindi dei messaggi
$totMex=count(file($filename));
// legge il file
$contents = fread ($fd, filesize ($filename));
//estrae per riga
$frase= explode($delim,$contents);
//in ordine inverso i messaggi
$frase_reverse= array_reverse($frase);
if (sizeof($frase) <= "1")
{
echo "$PHP_SELF: Errore, nessun array, sto uscendo...";
exit;
}
for($i=0;$i<count($frase)-1;$i++)
{
$val[$i]=explode('#', $frase_reverse[$i]);
$nome[$i]=ucfirst ($val[$i][0]);
$citta[$i]=ucfirst ($val[$i][1]);
$messaggio[$i]=ucfirst ($val[$i][2]);
$data [$i]= ($val[$i][3]);
$table='<table width="100%" cellpadding="0" cellspacing="0" class="tabMess">
<tr>
<td bgcolor="#999999">'. $nome[$i]. $citta[$i]. $data[$i].'</td>
</tr>
</table>
<table width="100%" height="40" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#CCCCCC">'. $messaggio[$i].'</td>
</tr>
</table>
';
echo $table;
}
// chiude il file
fclose ($fd);
?>
</Marquee></td>
</tr>
<tr>
<td align="center" height="85">
<table width="35%" height="85" border="0">
<tr>
<td width="35%">
<form action="scrivi.php" method="post" name="form1">
<table width="0" border="0" align="center">
<tr>
<td>*Nome:</td>
<td width="82"><input name="Nome" type="text" size="10" style="font-size: 10px; font-family:Verdana"></td>
<td>*Città:</td>
<td><input name="Citta" type="text" id="Citta" onFocus="controllaNo()" size="10" style="font-size: 10px; font-family:Verdana"></td>
<td>*Messaggio:</td>
<td><textarea name="Mex" cols="20" id="Mex" style="font-size: 10px; font-family:Verdana" onFocus="controlla()"></textarea> </td>
</tr>
<tr>
<td> </td>
<td colspan="2">*=campi obbligatori </td>
</tr>
</table>
<div align="center">
<input type="submit" value="Firma" name="invia" onfocus="y" style="font-size: 10px; font-family:Verdana" />
</div>
</form></td>
</tr>
</table>
</td>
</tr>
</table>