[PHP] Jak stworzyć ikonki lub napisy informujące o nowościach na stronie, które same znikną po określonym czasie?
Chcesz umieścić na swojej stronie ikonkę lub napis np. "NOWOŚĆ!", która poinformuje użytkownika, że wybrany temat lub odnośnik jest nowy. Po kliku dniach lub tygodniu napis sam ma zniknąć, aby nie wprowadzać czytelnika w błąd.
Bardzo często zdarza się, że umieszczamy obok artykułu napis "Nowość!", po czym zapominamy go zdjąć gdy minie kilka dni. W niektórych serwisach takie ikonki straszą przez wiele miesięcy, co wprowadza czytelników w błąd.
Bardzo łatwo można zdejmowanie ikonek zrzucić na skrypt - niech sam się martwi aby "zdjąć" ikonę po określonym czasie. Jest to bardzo przydatny sposób gdy nie będzie można samemu zmienić zawartości strony, np. podczas urlopu lub dłuższego wyjazdu.
Wystarczy wtedy podać datę określającą do jakiego dnia napis "Nowość!" ma być widoczny na stronie. Po tym dniu ikona nie będzie już pokazywana. Zobacz jak to zrobić:
<?
function nowosc($data) {
$dzisiaj = date("Y").".".date("m").".".date("d");
if ($dzisiaj<=$data) return "<font color=red>NEW!</font>";
}
echo '<a href="http://reporter.pl/">reporter.pl</a> '.nowosc("2002.11.29");
?>
Sposób jest banalny - wystarczy stworzyć funkcję, która po przekazaniu daty sprawdzi czy pokazać w tym dniu napis (lub ikonę graficzną) czy nie. Przy odnośnikach lub zajawkach tekstu wystarczy wywołać funkcję nowosc() z dniem, do którego włącznie będzie pokazywany napis "Nowość!".
Funkcja porówna podaną datę z aktualnym dniem i jeżeli aktualny dzień będzie mniejszy lub równy, zwróci czerwony napis NEW!. Jeżeli minie okres emitowania nowości funkcja nic nie zwróci, więc nie będzie już widać informacji o nowości.
Jeżeli funkcję chcesz dołączyć do fragmentu strony HTML, która występuje po skrypcie PHP z funkcją, użyj konstrukcji:
<a href="http://reporter.pl/">reporter.pl</a> <? nowosc("2002.11.29"); ?>