Problemuccio con semplice guestbook

ste80

Nuovo Utente
25 Feb 2012
38
0
6
41
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
41
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
41
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
D Carousel bootstrap con video HTML e CSS 0
D Come estendere la tariffa per Wordpress con Visa? Hosting 0
T [VENDO] Guest Post su siti di Proprietà con IP diversi Offerte e Richieste di scambio links 0
A Somma di orari con centesimi PHP 1
T Query su due tabelle con totali Database 4
F Scrivere dei dati in word con php PHP 0
otto9due Più chiavi in array con array_key_exists() PHP 0
M Conteggio con group by PHP 3
M Problema con Try Catch PHP 0
K Aiuto con file audio in html HTML e CSS 1
M Upload immagine con javascript problemi con FormData() Javascript 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
G Invio form con PHP PHP 3
M Barra di navigazione con google HTML e CSS 1
T PROBLEMA CON SESSIONI PHP 3
A Problemi con move_uploaded_file PHP 7
G Menù a tendina di ricerca con query PHP 1
T fatture con voci fattura in php PHP 0
A Tabella con bottoni per aggiornamento record PHP 6
M Come selezionare e deselezionare radiobutton con jquery jQuery 1
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
M Inviare un file su un server remoto con JavaScript Javascript 0
L problema con query select PHP 2
M Come validare textarea con jquery jQuery 0
M Problemi con la stampa dei valori in php PHP 1
A Regex per isolare link interni con rel noopener PHP 0
L Problemi con il login PHP 2
F Creare elementi html con javascript Javascript 4
R Problema query con ricerca id numerico PHP 2
R [C#] Quali dipendenze occorrono su progetto "Setup" con Access Database? .NET Framework 0
F Problema con risposta PHP 0
A Sottoquery con group by per mese MySQL 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A Quale NVR con ingressi bnc ? IP Cam e Videosorveglianza 1
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
T Film interattivo con linguaggi web Programmazione 7
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Barierta Testo a comparsa con passaggio del mouse Javascript 17
M Estrarre valore con SELECT COUNT PHP 0
G VBA OpenForm con WhereCondition + LIKE su campi differenti MS Access 5

Discussioni simili