Programmazione Web » Php » Aggiungere automaticamente l'icona "new"

Aggiungere automaticamente l'icona "new"

Difficoltà: Apprendista Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net E-Mail
Questo tutorial è stato letto 1948 volte




Come avrete sicuramente notato, in molti siti web al lato del nuovo materiale inserito compare un'icona (spesso portante la scritta "New") che ci segnala che quell'articolo è di recente inserzione.

Questo significato di "nuovo" può essere inteso 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 visita dell'utente presso quel sito e mostra come "new" tutto ciò che è stato inserito successivamente a quella data. Ovviamente per l'utente potrebbe essere una comodità in quanto ogni volta potrebbe subito individuare tutto ciò che non ha letto precedentemente, ma tale metodo potrebbe rivelarsi un fallimento se l'utente ha i cookies disattivati o se li cancella periodicamente. Nonostante questo inconveniente, questo metodo resta quello utilizzato dalla maggior parte dei siti e delle applicazioni che girano su Internet, quali ad esempio i Forum di discussione.

Il secondo metodo, che spiegheremo effettivamente in questo tutorial, non prevede alcun utilizzo di cookies o di altri strumenti di questo tipo. Si presume solamente che ogni articolo del database sia "contrassegnato" da una data di pubblicazione. Controlleremo che la data di oggi sia maggiore di non più di tre giorni (tanto per fare un esempio) di quella della pubblicazione dell'articolo. Se questa condizione si verifica, mostreremo l'icona "new", altrimenti mostreremo il solo articolo così com'è.

Supponiamo, ad esempio, di aver pubblicato un articolo il 10/03/2006. Stando alle nostre scelte questo articolo dovrebbe rimanere visibile come "new" fino al 13/03/2006, dopodiché non sarà più considerato come tale.

Passiamo adesso agli sviluppi, che credo sia la cosa più interessante. Innanzitutto useremo la funzione mktime per determinare la data corrente, dopodichè utilizzeremo una variabile chiamata $giorni_dalla_pubbl che ci permetterà di calcolare quanto tempo è passato dalla pubblicazione di tale articolo. Sarà necessario un semplice ciclo di controllo if-else per verificare che non siano trascorsi più di 3 giorni dalla data di pubblicazione. Se questa condizione è verificata visualizzeremo l'immagine, in caso contrario non stamperemo 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 trascorsi dalla pubblicazione viene effettuato arrotondando (grazie ad intval()) il valore calcolato in timestamp della sottrazione tra la data di pubblicazione e la data attuale. Tale valore viene poi convertito in giornate grazie alla divisione per 86400, che non è 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 vostro caso tale valore è contenuto in un database, nulla esclude che questo possa essere riutilizzato con una formula simile alla seguente:

$giorni_dalla_pubbl = intval(($row['data_articolo'] - $attuale_timestamp) / 86400);

Credo di essere stato sufficientemente chiaro. Per qualsiasi problema in merito potete chiedere sul Forum.

Aggiungi questo tutorial ai preferiti! Aggiungi questo tutorial ai preferiti


SEGNALA QUESTA RISORSA AD UN AMICO
Tuo nome
Tua mail
Nome amico
Mail tuo amico
Google
AREA UTENTI
E-MAIL PASSW
Perso la password?
I TUTORIAL PIU' LETTI
GIF ANIMATE
Script Gratis!
Spot

Sito Service
Tutorial per realizzare un sito web partendo da zero e script Asp per Aruba Server.

Tutorials & scripts
Articoli su HTML, CSS, PHP, ASP, Javascript, MySQL a cura di AG web solutions!

Guida Prestiti e Carte di credito
Giochi flash free
Giochi gratis online
Ricette di cucina gratis
Migliori torrent italiani
Notizie Dieta e Diete Alimentari

Cerca con Google