Autor Zpráva
Matmak
Profil
Potřeboval bych, aby se jeden odkaz měnil podle roku a zároveň se i měnilo místo kam odkazuje:
mám tedy soubory:
fotky2011.htm
fotky2012.htm
fotky2013.htm
fotky2014.htm
fotky2015.htm

a odkazy:
<a href="fotky2011.htm">Fotky 2011</a>
<a href="fotky2012.htm">Fotky 2012</a>
<a href="fotky2013.htm">Fotky 2013</a>
<a href="fotky2014.htm">Fotky 2014</a>
<a href="fotky2015.htm">Fotky 2015</a>

...chtěl bych, aby se zobrazoval vždy odkaz se současným rokem. Z javascript chápu jen základy, proto buďte struční a trpělivý pokud budu mírně zabedněný. Předem děkuji za odpověď.
_es
Profil
Matmak:
A nebude jednoduchšie tam mať len jeden odkaz a ten raz za rok prepísať? Prečo by to malo byť závislé od JS? Respektíve, trochu ten dotaz nejako upresni, ak sa ten jeden má „zobrazovať“, tak ostatné sa zobraziť nemajú, alebo ako?
Matmak
Profil
Ne nebude to jednodušší protože bych ten odkaz musel přepisovat na hodně stránkách a JS to nebude až tak složité...
TomasJ
Profil
Matmak:
I já tě zdravím.
Jsou 2 standardní možnosti:

1. možnost je využití PHP (pokud tvůj web tuto technologii podporuje)
$rok = Date("Y"); //získání aktuálního roku
header("Location: fotky$rok.htm"); //přesměrování na soubor - pokud neumíš ani základy PHP, nepouštěj se do toho

2. možnost (závislá na datumu, který je nastavený ve TVÉM PC) je využití JavaScriptu - uživatel jej musí mít zapnutý.
var rok = (new Date()).getFullYear(); //získání roku, nastaveného v uživatelově PC
Na přesměrování si teď nevzpomínám, pohledám to, nebo si to můžeš najít sám ;)
lorin
Profil
Spíš udělejte jednu stránku s fotoalbem a nechte uživatele si v automaticky generovaném select boxu ( bude kontrolovat existenci adresářů s určitým jménem, např. fotoXXXX, kde XXXX je rok) vybrat, který rok chce zobrazit. Posléze pomocí PHP/JS načtete požadované soubory z daného adresáře.
Bubák
Profil
Lepší editory mají funkci najít a nahradit v souborech.
I kdybys to dělals napůl ručně, tak pro cca stovku souborů to jde zvládnout za 5 minut (vlastní zkušenost).
Zvážil bych nasazení PHP.
Matmak
Profil
TomasJ:
Děkuji za odpověď, php nerozumím vůbec a i jakštakš bych si našel to zjištění data, ale nemam tušení jak podle roku určit odkaz.


Bubák: lorin:
S php a js moc neumím, těch souborů je max 20, a potřeboval bych konkrétní script. Jinak taky děkuji za odpovědi.
Chro
Profil
Trváš na řešení v javascriptu nebo jsi ochotný to řešit v PHP? PHP je skála, nezávislá na zapnutém/vypnutém JS klientem a se stejnou funkčností. Kód do stránky s příponou php:
j
<?php
$rok = date('Y');
echo '<a href="fotky'.$rok.'.htm">Fotky '.$rok.'</a>';
?>
Javascript bez pomocí PHP využívá čas na počítači návštěvníka a ne vždy je čas přesný, aktuální.
TomasJ
Profil
Matmak:
potřeboval bych konkrétní script.
Fajn, kolik nabídneš?

http://lmgtfy.com/?q=javascript+přesměrování...
Matmak
Profil
Chro:
Zkusím to tedy v php za chvilku dam vedet...

TomasJ:
Bohužel toho moc co nabídnout nemám :D,... zkusím variantu s php


okopíroval jsem:
<?php
$rok = date('Y');
echo '<a href="fotky'.$rok.'.htm">Fotky '.$rok.'</a>';
?>
ale ve finále to na webu ukáže:
Fotky '.$rok.''; ?>
...kde je chyba, proč to neukazuje rok?
Chro
Profil
Protože ten kód se vykoná ve stránce (souboru) s příponou php (např. index.php), ve stránce př. index.htm se nevykoná, až na výjimky, se kterýma bych tě vzhledem k tomu, že jsi začátečník, nerad zatěžoval.
Matmak
Profil
Svělé už se to začíná rýsovat, měl bych otázku: chová se jinak soubor .php než .htm vůči ostatním datům na stránce (tabulka, styly, obrázky)?
Chro
Profil
Ne, stránka php je ekvivalentní stránce htm či "moderněji" s příponou html. Jen se v ní vykonávají skripty PHP. Pozor se musí dát jen na to, aby odkazy na ni v jiných stránkách byly případně upraveny z přípony htm(l) na php.
Matmak
Profil
co by tedy mělo být v <!doctype ?????> ?
_es
Profil
Matmak:
„Súbor .php“ aj „súbor .html“ sú, pre tvoje použitie, vo výstupe, HTML stránky, len „súbor .php“ je „prepracovaný“ PHP procesorom. A prehliadaču je jedno, ako HTML stránka vznikla.
Chro
Profil
.Pokud má server na požadavek prohlížeče vrátit stránku, vždy ji vrací s obsahem text/html, který si prohlížeč zpracuje jako stránku a jako stránku ji také vykreslí. Nezáleží na příponě php nebo htm souboru. Doctype se tedy nemění.
<!doctype html>
TomasJ
Profil
Matmak:
Doporučuji ti trochu čtení (třeba na Jak psát web), nejdřív se nauč základy HTML a CSS (ať web nějak vypadá) a pak dělej s PHP :) Soudím tak proto, že ses ptal na doctype.

Já kdysi sice taky začínal od PHP, ale taky se to tak projevilo, že jsem nezískal cit pro design. Že něco je udělaný "právě touhle suprovou PHP funkcí" uživatel nevidí a je mu tedy jedno jestli je stránka statická nebo dynamická.

Pokud máš tyto odkazy na více stránkách, tak časem zjistíš, že v PHP je vše mnohem jednodušší a tyto odkazy si definuješ třeba jen v 1 souboru, který budeš do každého vkládat, nebo to uděláš ještě lépe. ;)
Matmak
Profil
TomasJ:
Základy z css i html mám a i také něco málo z js, (věcem co se týče doctype vím +- k čemu to asi je, toť vše) na Jak psát web jsem toho přečetl celkem dost, a php potřebuji tedy nutně na určitý problém, aby stránky dávaly smysl, php mi usnadní hodně práce... Mohli byste mi ještě někdo poradit co mám do php dopsat, aby když není k mání stránka s aktuálním rokem:
<a href="fotky2014.htm">Fotky 2014</a> Tak aby se načetl nejbližší starší soubor v tomto případě fotky2013.htm no a samozdřejmě když není ani ten tak fotky2012.htm
_es
Profil
Matmak:
aby když není k mání stránka s aktuálním rokem:
<a href="fotky2014.htm">Fotky 2014</a> Tak aby se načetl nejbližší starší soubor v tomto případě fotky2013.htm no a samozdřejmě když není ani ten tak fotky2012.htm
A nebolo by potom snáď už jednoduchšie: <a href="fotky.htm">Fotky</a>?
Matmak
Profil
Bohužel, ja to tak opravdu potřebuju...
Chro
Profil
<?php
$rok = date('Y');
for ($i = $rok; $i = 0; $i--)
{
if (file_exists('fotky'.$i.'.htm'))
{
echo '<a href="fotky'.$i.'.htm">Fotky '.$i.'</a>';
break;
}
}
?>



EDIT: Oprava:
<?php
$rok = date('Y');
for ($i = $rok; $i > 0; $i--)
{
if (file_exists('fotky'.$i.'.htm'))
{
echo '<a href="fotky'.$i.'.htm">Fotky '.$i.'</a>';
break;
}
}
?>
Matmak
Profil
Děkuju mockrát všem co mi s mým problémem pomáhali, hlavně Chro díky moc. už mi to funguje

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: