Problemuccio con semplice guestbook

ste80

Nuovo Utente
25 Feb 2012
38
0
6
43
Brescia
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:
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
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao ,
hai provato a mettere nella query ORDER BY ID//questo se il tuo campo id è realmente id, se no sarà id_guestbook ecc ecc DESC
 

ste80

Nuovo Utente
25 Feb 2012
38
0
6
43
Brescia
ciao searedone e grazie per la tempestiva risposta;
pultroppo però il guestbook salva i dati in un file di testo e me li visualizza prendendoli dal file di testo usando fopen($file,"w") e non posso usare un order by sull'fopen :crying:
 

ste80

Nuovo Utente
25 Feb 2012
38
0
6
43
Brescia
Funziona!!!!! ottimo direi, grazie mille e molto veloce nella risposta :fonzie:

Adesso ho degli altri piccoli problemi ma prima di scomodarti ci voglio lavorare ancora un po sopra io.

Grazie e buona domenica a tutti.
Stefano
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Problemuccio con template ecc.! HTML e CSS 3
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
M Aggiunta prodotti nel carrello con lo stesso in e varianti diverse PHP 0
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Problema con position absolute e overflow HTML e CSS 4
M Estrarre soltanto i prodotti con stessa descrizione PHP 10
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
G Invio di più valori con la stessa checkbox PHP 4
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
I Form con selettore HTML e CSS 0
G phpmailer e php 8.1 con estensione mysqli PHP 6
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
N Vendo sito web di casino online con 1000 giochi Compravendita siti e domini 0
G form invio multiplo con checkbox PHP 12
L Query e selezione DB con $_POST PHP 2
K [PHP] Problema con variabili concatenate. PHP 1
R Dubbi su siti sviluppati con Wordpress e con codice WordPress 6
B Router e telecamere con pannello solare IP Cam e Videosorveglianza 0
Z Cerco ecommerce gratuito meglio se realizzato con Woocommerce di Wordpress. E-Commerce 0
S [CERCO] scambio di articoli con link Offerte e Richieste di scambio links 0
A Immagine decentrata con sfondo trasparente Photoshop 0
O problema con query PHP 4
Jensen Errore di sintassi con DELETE PHP 3
D Casella di testo con grassetto ecc... HTML e CSS 2
R Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera MS Access 10
G Query con i giorni della settimana MySQL 10
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
A Connessione a mdb con php7 PHP 1
P errore 404 con javascript Javascript 2
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0

Discussioni simili