Ciao a tutti.
Nella home del mio sito ho messo un guestbook in php.
L'ho configurato per bene, mettendo tra l'altro il limite di 10 messaggi per pagina.
Oggi, raggiunto tale limite però, ho scoperto che in pratica nella homepage rimanevano solo i primi messaggi inseriti in ordine di tempo, e quelli successivi (11esimo, 12esimo, e così via...), me li inseriva direttamente alla pagina 2 del guestbook.
In questa maniera se io inserisco un nuovo messaggio, nella home rimangono sempre e solo i primi 10 messaggi inseriti.
Spero di essermi spiegato, comunque sennò il sito è questo: http://zerovolley.altervista.org/
Qui di seguito vi copio il codice di 2 file .php del guestbook che credo siano interessati alla questione:
INSERT.PHP
Codice PHP:
<html>
<head>
<title>Inserimento dati</title>
</head>
<body bgcolor="#9DB8F7" background="http://zerovolley.altervista.org/nth_theme_science_solid_bg.gif">
<?php
include("config.php");
// Rilevazione tag html, presenza del nome e del messaggio
$cercanome = strstr($nome,"<");
$cercanome2 = strstr($nome,">");
$cercaemail = strstr($email,"<");
$cercaemail2 = strstr($email,">");
$cercaurl = strstr($url,"<");
$cercaurl2 = strstr($url,">");
$cercames = strstr($messaggio,"<");
$cercames2 = strstr($messaggio,">");
if ( $cercanome & $cercanome2 ){
echo "<center>[b]<font size=\"2\">IL TUO MESSAGGIO NON E' STATO INSERITO IN QUANTO SONO STATI RILEVATI TAG HTML</font>[/b]</center>
";
echo "<center>[b]<font size=\"2\"><a href=\"form.php\">TORNA INDIETRO</a></font>[/b]</center>";
}
elseif ( $cercaemail & $cercaemail2 )
{
echo "<center>[b]<font size=\"2\">IL TUO MESSAGGIO NON E' STATO INSERITO IN QUANTO SONO STATI RILEVATI TAG HTML</font>[/b]</center>
";
echo "<center>[b]<font size=\"2\"><a href=\"form.php\">TORNA INDIETRO</a></font>[/b]</center>";
}
elseif ( $cercaurl & $cercaurl2 )
{
echo "<center>[b]<font size=\"2\">IL TUO MESSAGGIO NON E' STATO INSERITO IN QUANTO SONO STATI RILEVATI TAG HTML</font>[/b]</center>
";
echo "<center>[b]<font size=\"2\"><a href=\"form.php\">TORNA INDIETRO</a></font>[/b]</center>";
}
elseif ($cercames & $cercames2)
{
echo "<center>[b]<font size=\"2\">IL TUO MESSAGGIO NON E' STATO INSERITO IN QUANTO SONO STATI RILEVATI TAG HTML</font>[/b]</center>
";
echo "<center>[b]<font size=\"2\"><a href=\"form.php\">TORNA INDIETRO</a></font>[/b]</center>";
}
else{
if ($nome == "")
{ echo "<center><font size=\"2\">DEVI INSERIRE IL TUO NOME</font></center>
";
echo "<center><font size=\"2\"><a href=\"form.php\">RITORNA INDIETRO</a></font></center>";
}
elseif ($messaggio == "")
{ echo "<center><font size=\"2\">DEVI INSERIRE IL MESSAGGIO</font></center>
";
echo "<center><font size=\"2\"><a href=\"form.php\">RITORNA INDIETRO</a></font></center>";
}
else{
$messaggio=ereg_replace("\n","
",$messaggio);
$data=date("d/m/Y");
$orario=date("H.i");
$commento=$nome."|".$email."|".$url."|".$messaggio."|".$data."|".$orario."\n";
if (!(file_exists($file)))
{fopen($file,"w");}
// Scrittura del nuovo messaggio su file
$new_mess=fopen($file,"a+");
fwrite($new_mess,$commento);
fclose($new_mess);
$arr_mess=file($file);
$count=count($arr_mess);
$pagine_totali= ceil($count/$risultati_per_pagina);
$tab_ins= "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#333333\" bgcolor=\"#FFFFFF\" style=\"border:1px solid;\">";
$tab_ins .= "<tr><td><center><font family=\"Arial\" size=\"2\">IL TUO MESSAGGIO E' STATO INSERITO NEL GUESTBOOK</font></center>";
$tab_ins .= "</td></tr></table>
";
$tab_ins .= "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\" bgcolor=\"#FFFFFF\" style=\"border:1px solid;\">";
$tab_ins .="<tr><td bgcolor=\"#FFFFCC\"><center><font family=\"Arial\" size=\"2\">[url='view.php?pagina=$pagine_totali']VISUALIZZA I MESSAGGI[/url]</font></center></td></tr></table>";
echo $tab_ins;
}
}
?>
</body>
</html>
VIEW.PHP
Codice PHP:
<html>
<head>
<title>Visualizzazione dati</title>
<link rel="stylesheet" href="stile.css" type="text/css">
</head>
<body>
<?php include("config.php");
if (!(file_exists($file)))
{ fopen($file,"w"); }
?>
<table width="400" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border:1px solid;">
<tr>
<td colspan="2">[img]titolo.gif[/img]</td>
</tr>
<tr>
<td width="200" height="22" bgcolor="#FFCCCC">
<?php
echo "<center><div class=\"carattere\">[url='$home']VAI ALL'HOMEPAGE[/url]</div></center>" ;
?>
</td>
<td width="200" bgcolor="#FFCCCC"> <?php echo "<center><div class=\"carattere\"><a href=\"form.php\"> INSERISCI UN MESSAGGIO</a></div></center>"; ?></td>
</tr>
</table>
</p>
<?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);
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=ereg_replace($parole_proibite[$i],"*****",$nome);
$messaggio=ereg_replace($parole_proibite[$i],"*****",$messaggio);
}
// Creazione della tabella contenente tutti i dati del messaggio
if (($email=="") & ( $url==""))
{
$tabella = "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"120\" bgcolor=\"#eafafd\" class=\"tabella\">[b]<font class=\"carattere\">".$nome."</font>[/b]";
$tabella .= "
<font class=\"carattere\">"."scritto il ".$data."
ore:".$orario."</font></td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table>
";
}
if ( (!($email=="")) & ( $url==""))
{
$tabella = "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"120\" bgcolor=\"#eafafd\" class=\"tabella\">[b]<font class=\"carattere\">".$nome."</font>[/b]";
$tabella .= "
<font class=\"carattere\">"."scritto il ".$data."
ore:".$orario."</font>
<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>
";
}
if ( ($email=="") & (!( $url=="")) )
{
$tabella = "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"120\" bgcolor=\"#eafafd\" class=\"tabella\">[b]<font class=\"carattere\">".$nome."</font>[/b]";
$tabella .= "
<font class=\"carattere\">"."scritto il ".$data."
ore:".$orario."</font>
"."[url='$url']"."<img src=\"home.gif\" border=\"none\">"."[/url]"."</td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table>
";
}
if ( (!($email=="")) & (!( $url=="")) )
{
$tabella = "<table width=\"400\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#000000\">";
$tabella .= "<tr><td width=\"120\" bgcolor=\"#eafafd\" class=\"tabella\">[b]<font class=\"carattere\">".$nome."</font>[/b]";
$tabella .= "
<font class=\"carattere\">"."scritto il ".$data."
ore:".$orario."</font>
<a href=\"mailto:$email\">"."<img src=\"smail.gif\" border=\"none\">"."</a>"." "."[url='$url']"."<img src=\"home.gif\" border=\"none\">"."[/url]"."</td>";
$tabella .= "<td bgcolor=\"#FFFFFF\" style=\"border:1px solid\" valign=\"top\"><font class=\"carattere\">".$messaggio."</font></td></tr></table>
";
}
$tabella = ereg_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="200" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border:1px solid;">
<tr bgcolor="#FFCCCC">
<td height="20" colspan="2">
<?php
echo "<center><div class=\"carattere\">pag. $pagina di $pagine_totali pag. totali</div></center>" ?>
</td>
</tr>
<tr>
<td width="175" height="20" bgcolor="#FFFFFF">
<?php
if (!($pagina == 1)){
if (!($pagine_totali == 0)){
echo "<center><div class=\"carattere\">[url='view.php?pagina=$pagina_precedente']Precedente[/url]</div></center>";}}?>
</td>
<td width="175" bgcolor="#FFFFFF">
<?php
if (!($pagina == $pagine_totali)){
if (!($pagine_totali == 0)){
echo "<center><div class=\"carattere\">[url='view.php?pagina=$pagina_seguente']Successiva[/url]</div></center>";}}?>
</td>
</tr>
<tr bgcolor="#FFCCCC">
<td height="20" colspan="2"><?php echo "<center><div class=\"carattere\">Totale messaggi: $numero_messaggi </div></center>" ?></td>
</tr>
</table>
</center>
</p>
</body>
</html>
Nello script c'è anche il file config.php, ma serve solo per settare il numero di messaggi per pagina.
Grazie in anticipo!