Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Linkin aktivointi tiettynä päivänä

Sivun loppuun

kalakerho [17.11.2009 21:05:32]

#

Onko olemassa koodia, joka määrää milloin linkki toimii! Esim.
<a href="osoite" (ja miten nyt sit jatkuukaan, kun haluaa tämän linkin olevan käytössä esim. 18.10.2009 jälkeen)</A>
Ja sit ku klikkaa linkkiä joka ei ole auki(ennen päivämäärää), pomppaa ikkuna/alert, johon tekstiä.

trilog [17.11.2009 21:10:33]

#

Jollakin palvelimella ajettavalla kielellähän tuo onnistuu (esim. PHP). Nimittäin selainpohjaiset pystyy käyttäjä aina kiertämään.

PHP:lla vaikka näin:

<?php
if (strtotime("2009-10-18") > time())
    die("sivu ei ole auki vielä");
?>
<p>sivun sisältö</p>

Edit. tuo pätkä siis linkin kohteeksi.

Metabolix [17.11.2009 21:19:46]

#

Asian voi hoitaa myös niin, että käy muuttamassa linkkiä tiettynä päivänä. Ennen määräpäivää linkistä puuttuu osoite ja siinä on JS:llä tuo ilmoitus.

<a href="#" onclick="alert('Ei toimi vielä!'); return false;">XYZ</a>
<a href="oikea_sivu.html">XYZ</a>

Muutoksen voi tietysti tehdä automaattisesti vaikka PHP:llä.

<?php
if (time() < strtotime("2009-12-31 12:00:00")) {
  ?><a href="#" onclick="alert('Ei toimi vielä!'); return false;">Linkki</a><?php
} else {
  ?><a href="oikea_sivu.html">Linkki</a><?php
}

kalakerho [17.11.2009 22:42:00]

#

Eikö onnistu html:llä?!
Voin laittaa koodin, johon tarvitsee upottaa.

Antti Laaksonen [17.11.2009 22:51:16]

#

Tarkistuksen voi tehdä myös JavaScriptilla:

<script>
function tarkistus() {
    joulu = new Date();
    // linkkiä ei saa painaa ennen 24.12.2009
    // huom! kuukaudet ovat 0-11
    joulu.setFullYear(2009, 11, 24);
    nyt = new Date();
    if (nyt < joulu) {
        alert("Ei saa painaa ennen joulua!");
        return false;
    }
}
</script>

<a href="joululahja.html" onclick="return tarkistus()">Avaa lahja</a>

Kuitenkin sivulle pääsee, jos katsoo HTML-koodista sen osoitteen.

Metabolix [17.11.2009 22:57:22]

#

Ei onnistu, jos oikeasti haluat, että se toimii. Taitamattomia käyttäjiä voi kyllä harhauttaa JavaScriptilla.

Sivun head-osioon:

<script type="text/javascript">
/* <![CDATA[ */
function esta(v, kk, pv, h, m, s, viesti) {
  var d = new Date();
  var t = d.getTime();
  d.setFullYear(v, kk-1, pv);
  d.setHours(h, m, s);
  if (d.getTime() > t) {
    alert(viesti);
    return false;
  }
  return true;
}
/* ]]> */
</script>

Linkki:

<a href="sivu.html" onclick="return esta(2009, 12, 31, 13, 37, 00, 'Estetty!')">Moi</a>

kalakerho [17.11.2009 22:57:44]

#

ÖÖÖÖÖ...
Nyt tulee sellaista koodii ettei vanha osaa.

Sopiiko että vähä autatte, kun olette ammattilaisia?
Tässä koodi:

<html>
<head>
<script type="text/javascript">
/* <![CDATA[ */
function esta(v, kk, pv, h, m, s, viesti) {
  var d = new Date();
  var t = d.getTime();
  d.setFullYear(v, kk-1, pv);
  d.setHours(h, m, s);
  if (d.getTime() > t) {
    alert(viesti);
    return false;
  }
  return true;
}
/* ]]> */
</script>
</head>
<body>
<img src="kalenteri.jpg" USEMAP="#JOULUKALENTERI" BORDER=0>
<map name="JOULUKALENTERI">
<area name="YKSI" shape="rect" coords="269,207,313,269" href="https://www.ohjelmointiputka.net/keskustelu/20070-linkin-aktivointi-tiettyn%C3%A4-p%C3%A4iv%C3%A4n%C3%A4"  onclick="return esta(2009, 11, 18, 13, 37, 00, 'Eipäs hätäillä! ODOTA!')"alt="YKSI" title="YKSI" OnMouseOver="window.status='YKSI'; return true" OnMouseOut="window.status=''; return true" target="_blank"></map>
</body>
</html>

MENIKÖ OIKEIN!

MOD. HUOM: ÄLÄ HUUDA! KÄYTÄ KOODITAGEJA!

vehkis91 [18.11.2009 11:16:15]

#

Etkö voi käyttää koodi-tageja?

Lebe80 [18.11.2009 12:56:46]

#

ja eikö php ole käytössä? Sillä saisi niin paljon helpommin oikean osoitteen tulostettua vasta julkaisuajankohdan jälkeen.

kalakerho [18.11.2009 15:58:37]

#

En huutele. Anteeksi.
Täytyy opiskella tuota php:ta. Missäs olis hyviä oppaita maalaistollolle.

RQ [18.11.2009 16:19:25]

#

apuuva! kirjoitti:

En huutele. Anteeksi.
Täytyy opiskella tuota php:ta. Missäs olis hyviä oppaita maalaistollolle.

Lähempänä kuin luuletkaan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta