Aggiungere automaticamente l'icona new agli aggiornamenti recenti del proprio sito web
Come avrete sicuramente notato, in molti siti web al lato delnuovo materiale inserito compare un'icona (spessoportante la scritta "New") che ci segnala chequell'articolo è di recente inserzione.
Questo significato di "nuovo" può essereinteso sotto mille aspetti. Solitamente i piùutilizzati sono due:
- il primo caso è quello che mostra all'utente come "new" tutti gli articoli che sono stati inseriti dopo la sua ultima visita;
- il secondo caso, invece, mostra all'utente come "new" tutti gli articoli che sono stati inseriti negli ultimi n giorni, indipendentemente dalla sua ultima visita. Il limite di "n" giorni viene ovviamente stabilito dal webmaster stesso.
Il primo metodo fa utilizzo dei cookies;sostanzialmente controlla la data dell'ultima visitadell'utente presso quel sito e mostra come"new" tutto ciò che è stato inseritosuccessivamente a quella data. Ovviamente per l'utentepotrebbe essere una comodità in quanto ogni voltapotrebbe subito individuare tutto ciò che non ha lettoprecedentemente, ma tale metodo potrebbe rivelarsi unfallimento se l'utente ha i cookies disattivati o se licancella periodicamente. Nonostante questo inconveniente,questo metodo resta quello utilizzato dalla maggior parte deisiti e delle applicazioni che girano su Internet, quali adesempio i Forum di discussione.
Il secondo metodo, che spiegheremo effettivamente in questotutorial, non prevede alcun utilizzo di cookies o di altristrumenti di questo tipo. Si presume solamente che ogniarticolo del database sia "contrassegnato" da unadata di pubblicazione. Controlleremo che la data di oggi siamaggiore di non più di tre giorni (tanto per fare unesempio) di quella della pubblicazione dell'articolo. Sequesta condizione si verifica, mostreremo l'icona"new" , altrimenti mostreremo il solo articolocosì com'è.
Supponiamo, ad esempio, di aver pubblicato un articolo il10/03/2006. Stando alle nostre scelte questo articolodovrebbe rimanere visibile come "new" fino al13/03/2006, dopodiché non sarà piùconsiderato come tale.
Passiamo adesso agli sviluppi, che credo sia la cosapiù interessante. Innanzitutto useremo la funzionemktime per determinare la data corrente,dopodichè utilizzeremo una variabile chiamata$giorni_dalla_pubbl che ci permetterà di calcolarequanto tempo è passato dalla pubblicazione di talearticolo. Sarà necessario un semplice ciclo dicontrollo if-else per verificare che nonsiano trascorsi più di 3 giorni dalla data dipubblicazione. Se questa condizione è verificatavisualizzeremo l'immagine, in caso contrario nonstamperemo niente a video.
<?php$attuale_timestamp = mktime("0" ,"0" ,"0" , date("m"), date("d"), date("Y"));$giorni_dalla_pubbl = intval((1142031600 - $attuale_timestamp) / 86400);if ($giorni_dalla_pubbl <= 3) echo "<img src="new.gif" /";?>
Come avete potuto notare il calcolo dei giorni trascorsidalla pubblicazione viene effettuato arrotondando (grazie adintval()) il valore calcolato intimestamp della sottrazione tra la data dipubblicazione e la data attuale. Tale valore viene poiconvertito in giornate grazie alla divisione per 86400, chenon è altro che la durata di un giorno in timestamp.
N.B.: Per la data di pubblicazione dell'articolo èstato utilizzato un valore costante di esempio. Se nel vostrocaso tale valore è contenuto in un database, nullaesclude che questo possa essere riutilizzato con una formulasimile alla seguente:
$giorni_dalla_pubbl = intval(($row['data_articolo'] - $attuale_timestamp) / 86400);
Credo di essere stato sufficientemente chiaro. Per qualsiasiproblema in merito potete chiedere sul Forum.
- Articolo precedente Creare una Chat Live per assistenza online sul proprio sito web
- Articolo successivo Creiamo un Photoblog con PHP e MySQL