Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema con guestbook

  1. #1

    Problema con guestbook

    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_totaliceil($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_totaliceil($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!

  2. #2
    Vi prego, qualcuno che mi aiuti...

  3. #3
    Up... please...

  4. #4
    Non c'è proprio nessuno che mi può aiutare.
    Come ulteriore informazione, lo script del guestbook l'ho scaricato dal questo sito, e si chiama Morris Guestbook.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    faccio una prova al posto di questo
    Codice PHP:
    $mess_pag=array_slice($rows_file,$inizio,$risultati_per_pagina); 
    $mess_pag=array_reverse($mess_pag); 
    $cont1=count($mess_pag); 
    $cont2=0
    metti questo e vedi un po se funziona ancora in modo sbagliato

    Codice PHP:
    $mess_pag=array_slice($rows_file,$inizio,$risultati_per_pagina); 
    rsort($mess_pag); 
    $cont1=count($mess_pag); 
    $cont2=0
    qesta parte di codice si trova in view.php

  6. #6
    Niente da fare.
    Se faccio così me li mette a caso. Tipo se fosse in ordine random. Ho provato ad inserire 3 messaggi, dopo aver cambiato il codice, e non li mette in ordine di inserimento.
    Come si potrebbe cambiare ulteriormente il codice?

  7. #7
    Ho provato ancora a smanettare con il codice, ma niente. Ma come si può fare... :master:

  8. #8
    Non ci sono ancora riuscito. Qualch'uno che ci capisce che me lo spiega per favore, mi serve...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.