adesso che abbiamo visto come inserirli i post vediamo anche come sia possibile archiviarli, nel modo piu’ semplice che abbiamo mai visto. Innanzi tutto dobbiamo precisare cosa in realtà sia un archivio. Diciamo che come dice la parola stessa l’archivio è un luogo , in questo caso del web , dove sia possibile trovare contenuti vecchi., in una parola passati.

Creare la pagina di Archiviazione degli articoli di un blog

Archiviazione dati PHP Mysql

Vediamo il listato di archivio.php e poi iniziamo a spiegarvelo con un’unica precisazione che è quella che per il momento stiamo considerando di memorizzare il tutto su un file di testo e non su un database, dopo vi faremo vedere anche come espletare questa seconda funzione.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/XHTML1/DTD/XHTML1-strict.dtd"> 
<?php
require("config.php");
require("funzioni.php");
?>
<html>
<head>
<title><?php echo $TITOLO; ?></title>
<link rel="stylesheet" type="text/css" href="stile.php" />
</head>
<body>
<div id="intestazione">
<h1><?php echo $TITOLO; ?></h1>
<h2>di <?php echo $UTENTE; ?></h2>
<div id="menu">
<a href="indice.php">Home</a>
<a href="inserisci.php">Inserisci</a>
<a href="archivio.php">Archivio</a>
</div>
</div>

1.
2. <div id="blog">
3.<h1>Archivio dei post</h1>
4.<?php
5.$numero = numeroPost();
6.$pagine = ceil($numero / $POSTPERPAGINA);

7.if (!isset($_GET["pagina"]))
8.$pagina = 1;
9.else
10.$pagina = $_GET["pagina"];

11.$contenuto = leggi(($pagina - 1) * $POSTPERPAGINA + 1, $POSTPERPAGINA); // (* \label{line:PHP_chiamata-leggi} *)

12.if (count($contenuto) > 0) {
13. foreach ($contenuto as $post) {
14.echo "<div class=\"post\">\n<h3>", $post[2], "</h3>\n";
15.echo "<p>", $post[3], "</p>\n";
16.echo "<p class=\"info\">Pubblicato il: ", $post[1],
17." da ", $UTENTE, "</p>\n</div>\n";
18.}
19.}

21.echo "<p>Pagine: ";
22.for ($i = 1; $i <= $pagine; $i++)
23.echo "<a href=\"", $_SERVER["PHP_SELF"], "?pagina=", $i, "\">",
24.$i, "</a> ";
25.echo "</p>\n";
26.?>
</div>
<hr/>
</body>
</html>

Consideriamo il rigo if (!isset($_GET[“pagina”])) questo rigo in pratica ci fa capire quale pagina da visualizzare è stata richiesta dall’utente, se questo valore non è stato caricato gli verrà asseganto il valore 1 perche’ vorra dire che l’utente ha semplicemente digitato il link archivio

Mentre la varibabile $pagine si occuperà di calcolare il contenuto di pagine di cui è costituito l’archivio ( pari al numero totale di post pubblicati diviso per il numero d post visualizzabili su una singola pagina. Di Seguito , la variabile $contenuto viene riempita con i post di contenuto nella pagina specificata nella variabile $opagina e il loro testo viene emesso come nelle pagine dindice

veniamo a considerare un altro file abbastanza importatnte il file di configurazione del blog config .php Il File conterrà il nome dell’utente e la password da utilizzare per aggiungere nuovi post, il titolo del blog e informazioni sulla personalizzazione del sito : in questo esempio , ci limiato a colori e font da usare.

 

<?php
// opzioni di configurazione del blog

// utente
$UTENTE = "iltuo nome da Amministratorer";
$PASSWORD = "segreta";

// memorizzazione dei post
$BLOGFILE = "db/blog.txt";

// titolo del blog
$TITOLO = "Blog di Prova";
// URL del blog
$URL = "http://www.miosito.com";

// post per pagina
$POSTPERPAGINA = 5;

// colori
$COLSFONDO = "white";
$COLTESTO = "black";
$COLINTESTAZIONE = "#99C1FF";
$COLMENU = "#99C1FF";
// font
$FONT = "Arial";
?>

Come potete il file di configurazione da alcune informazioni essenziali ossia qual’e’ il nome utente e la relativa password, dove sono memorizzati i post, il titolo del lblog, il numero di post da visualizzare per ogni pagina e li evenutali colori dello sfondo, del testo, e dell’intestazione, il font utilizzato è l’arial ovviamente tutti questi parametri sono modificabili a piacimento di colui che scrive il codice.

Per la memorizzazione dei post per il momento abbiamo scelto un file di testo con i record a lunghezza variabile,cioè in questo modo ogni post consistein una riga di testo che va a terminare con il carattere a capo automatico che corrisponde al /n, a sua volta all’interno di ogni riga abbiamo introdotto uin carattere di separazione che è il #. In modo tale da separare i campio che costituiscono un post che saranno nell’ordine

  • identificartore id
  • data e ora di creazione
  • titolo
  • contenuto

Effettivamente piu’ che un blog qui siamo andati a creare una sorta di twiter.. Insomma potremmo andare nel nostro file di testo php e trovarci scritto qualcosa del genere

  • 1#2009-09-12, 12:23# Questo blog funziona che è una meraviglia# è una cosa fantastica, venite a trovarci, vi aspettimao numerosi
  • 2#2009-09-13, 15:44# Ciao mondo,# Questo è il mio primo articolo su qyuesto blog.

Ovviamente poi nel testo convertiremo i /n con gli xhtml,  E con questo vi diamo appuntamento alla lezione successiva.