Ciao a tutti, sono nuovo del forum e inizio subito col porvi un problema...
Ho un semplice guestbook che scrive i dati in un file di testo, con controlli sulle parole proibite, obbligatorietà di alcuni campi e il volta pagina ogni 5 messaggi, il tutto funziona alla grande.
Il problema nasce quando accedo al guestbook. Come pagina iniziale nel view.php vedo la prima pagina con il primo messaggio inserito, poi con il link successivo scorro fino all'ultima pagina dove c'è l'ultimo post; io vorrei invece che mi visualizzasse, come inizio del mio guestbook, l'ultima pagina con l'ultimo post inserito.
Posto, per chiarezza, un po di codice:
Ho postato solo il view.php perchè è qui che secondo me c'è la soluzione del problema...
Grazie
Stefano
Ho un semplice guestbook che scrive i dati in un file di testo, con controlli sulle parole proibite, obbligatorietà di alcuni campi e il volta pagina ogni 5 messaggi, il tutto funziona alla grande.
Il problema nasce quando accedo al guestbook. Come pagina iniziale nel view.php vedo la prima pagina con il primo messaggio inserito, poi con il link successivo scorro fino all'ultima pagina dove c'è l'ultimo post; io vorrei invece che mi visualizzasse, come inizio del mio guestbook, l'ultima pagina con l'ultimo post inserito.
Posto, per chiarezza, un po di codice:
PHP:
<?php
include("config.php");
// Estrazione dati e paginazione
$rows_file=file($file);
$count=count($rows_file);
$numero_messaggi=$count;
if ($numero_messaggi == 0)
{
echo "<center><font family=\"Verdana\" size=\"2\">NON CI SONO ANCORA MESSAGGI</font></center>";
}
$inizio=0;
$pagine_totali= ceil($count/$risultati_per_pagina);
//$pagina = $pagine_totali; codice inserito per prova , visualizzo l'ultima pagina all'avvio del mio guest ma non mi permette più di scorrere le pagine
if (isset($pagina) AND $pagina > 0)
{
if ($pagina > $pagine_totali)
{
$pagina = $pagine_totali;
} else
{
$inizio=$pagina*$risultati_per_pagina - $risultati_per_pagina;
}
} else {
$pagina = 1;
$inizio = 0;
}
$mess_pag=array_slice($rows_file,$inizio,$risultati_per_pagina);
$mess_pag=array_reverse($mess_pag);
$cont1=count($mess_pag);
$cont2=0;
// Stampa dati su schermo
while ($cont2<$cont1) {
$mess=$mess_pag[$cont2];
$info=explode("|",$mess);
$nome=$info[0];
$email=$info[1];
$url=$info[2];
$messaggio=$info[3];
$data=$info[4];
$orario=$info[5];
$num_proib=count($parole_proibite);
for ($i=0;$i<$num_proib;$i++)
{
$nome= preg_replace($parole_proibite[$i],'/*****/',$nome);
$messaggio= preg_replace($parole_proibite[$i],'/*****/',$messaggio);
}
// Creazione della tabella contenente tutti i dati del messaggio
if (($email=="") & ( $url==""))
{
$tabella = "<table width=\"550\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"150\" bgcolor=\"#FFCC66\" class=\"tabella\"><b><font class=\"carattere\">".$nome."</font></b>";
$tabella .= "<br><font class=\"carattere\">"."scritto il ".$data."<br>ore:".$orario."</font></td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table><br>";
}
if ( (!($email=="")) & ( $url==""))
{
$tabella = "<table width=\"500\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"150\" bgcolor=\"#FFCC66\" class=\"tabella\"><b><font class=\"carattere\">".$nome."</font></b>";
$tabella .= "<br><font class=\"carattere\">"."scritto il ".$data."<br>ore:".$orario."</font><br><a href=\"mailto:$email\">"."<img src=\"smail.gif\" border=\"none\">"."</a></td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table><br>";
}
if ( ($email=="") & (!( $url=="")) )
{
$tabella = "<table width=\"500\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"150\" bgcolor=\"#FFCC66\" class=\"tabella\"><b><font class=\"carattere\">".$nome."</font></b>";
$tabella .= "<br><font class=\"carattere\">"."scritto il ".$data."<br>ore:".$orario."</font><br>"."<a href='$url'>"."<img src=\"home.gif\" border=\"none\">"."</a>"."</td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table><br>";
}
if ( (!($email=="")) & (!( $url=="")) )
{
$tabella = "<table width=\"500\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"150\" bgcolor=\"#FFCC66\" class=\"tabella\"><b><font class=\"carattere\">".$nome."</font></b>";
$tabella .= "<br><font class=\"carattere\">"."scritto il ".$data."<br>ore:".$orario."</font><br><a href=\"mailto:$email\">"."<img src=\"smail.gif\" border=\"none\">"."</a>"." "."<a href='$url'>"."<img src=\"home.gif\" border=\"none\">"."</a>"."</td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table><br>";
}
$tabella = preg_replace('/\\\\/','',$tabella);
echo $tabella;
$cont2++;
}
$pagina_precedente = $pagina - 1;
$pagina_seguente = $pagina + 1;
if ($pagina_precedente < 1)
{
$pagina_precedente = 1;
}
if ($pagina_seguente > $pagine_totali)
{
$pagina_seguente = $pagine_totali;
}
?>
</p>
<center>
<table width="550" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border:1px solid;">
<tr bgcolor="#FFCC66">
<td width="350" height="22" bgcolor="#FFCC66">
<p>
<?php
echo "<center><div class=\"carattere\">PAGINA $pagina DI $pagine_totali</div></center>" ?>
</p>
<p>
<?php
if (!($pagina == 1)){
if (!($pagine_totali == 0)){
echo "<center><div class=\"carattere\"><a href='view.php?pagina=$pagina_precedente'>PAGINA PRECEDENTE</a></div></center>";}}?>
<?php
if (!($pagina == $pagine_totali)){
if (!($pagine_totali == 0)){
echo "<center><div class=\"carattere\"><a href='view.php?pagina=$pagina_seguente'>PAGINA SUCCESSIVA</a></div></center>";}}?>
</p>
</td>
</tr>
</table>
Ho postato solo il view.php perchè è qui che secondo me c'è la soluzione del problema...
Grazie
Stefano