Tiedän että tämä on todella tyhmä kysymys, miten PHP:llä voi siirtyä jollekkin toiselle sivulle esim 3 sekunnin kuluessa?
HTML se olisi:
<meta http-equiv="refresh" content="3;URL=https://www.ohjelmointiputka.net">
Mutta miten tuo sama PHP:llä?
Tämä lienee toimiva ratkaisu.
edit: tuo usleep ei näyttäisikään toimivan. :/ Mutta kyllä se menee sivulle.
PHP:llä se onnistuu header() komennolla. esim. header("Location: https://www.ohjelmointiputka.net/"); siirtyy saman tien ohjelmointiputkaan. Tämän komennon jälkeen täytyy pitää huoli että php-skripti poistuu exit(); komennolla.
Lisää tietoa https://www.php.net/manual/fi/function.header.
Edit: Jaha, rndprogy ehti ensin :)
Edit2: Tuolta yllä olevalta sivulta löytyi seuraavanlainen
Lazu kirjoitti:
header("Refresh: $sec; http://www.php.net");
Ei ole speksissä, joten tuon varaan ei voi laskea.
<?php print "<meta http-equiv=\"refresh\" content=\"3;URL=https://www.ohjelmointiputka.net\">"; ?>
Tuon pistät sivun headin sisään ;)
Itse olen joskus käyttänyt purkkaa että lyön tuon metatagin vain echolla läpi siinä vaiheessa kun sitä tarvitaan. Ei hyvä tapa mutta ainakin toiminut tähän asti.
Lazu kirjoitti:
header("Refresh: $sec; http://www.php.net");
Koodistasi puuttuu URL:n osoitin:
header("Refresh: $sec; url=http://www.php.net");
T.M. kirjoitti:
Koodistasi puuttuu URL:n osoitin
Ei ollut minun koodi vaan copy/pastesin sen tuolta php.netistä, kuten mainitsin.
Lazu kirjoitti:
Ei ollut minun koodi vaan copy/pastesin sen tuolta php.netistä, kuten mainitsin.
Anteeksi.
Ei ollut tarkoitus loukata egoasi millään tavalla.
Miten viikonpäivän ratkaisu tapahtuu?
Tähän koodiin pitää melkein joka vuosi tehdä pientä purkkakorjausta..
Purkkakorjauskin kelpaisi, mutta miten?
Vähentää pitää ilmeisesti 2 päivää, mutta mistä muuttujasta?
https://www.ohjelmointiputka.net/koodit_nayta.
Ja mitenkäs tämä viimeinen liittyy aiheeseen?
date('w');
Numeric representation of the day of the week
0 (for Sunday) through 6 (for Saturday)
Tuo sitä, mitä haet? (Osoitteesta https://www.php.net/manual/fi/function.date.php)
Nyt haussa on siis viikonpäivän ratkaisu.
Tuo date('w') kun kertoo viikkonumeron esim. 52
https://www.ohjelmointiputka.net/koodit_nayta.
date('w') Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
date('W') ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
Ahaa!
Kiitoksia selvennyksestä. Olihan se aika hyvin php.netissäkin selvennetty.
Tässä kyseisessä ohjelmanpätkässä käytetään tuota date('z') koska kysymys on laitettu vaihtumaan aina kun päiviä on mennyt tuo 7kpl eteenpäin. Eli päivät su-ma 0-6 ei toimi tässä. Parempi tietenkin olisi..
Viimevuonna 2004 vuoden ensimmäinen päivä oli torstai.
Tänä vuonna 2005 vuoden ensimmäinen päivä oli lauantai.
Päiviin date('z') pitäisi kaiken järjen mukaan siis lisätä +2.
Kokeiltu on, mutta kysymystä ei ole saatu vaihtumaan maanantaina?
JÄNNÄÄ!
Tuollainen kysymyksen vaihto esim. maanantaina klo. 00.00 kanntattaa toteuttaa crontabilla jos vain mahdollista. Ei tarvitse pelätä toimiiko purkat vai ei :)
Ihan mielenkiinnosta kysyn, että mikä tuo mysteerinen crontab on, kun en sitä php.net:stä löytänyt?
Biotank: ei ihme ettet php.netistä, ei liity php:hen oikein mitenkää. Se on semmonen hauska komentojen ajastussysteemi.
man cron kirjoitti:
cron - daemon to execute scheduled commands (ISC Cron V4.1)
Ei ole PHP:n vaan Unix-käyttisten ominaisuus. Ks. esim. http://www.rt.com/man/cron.8.html
Edit: sooda mokoma, ei saa olla mua nopeempi! :P
Niin ja jos homma pyörii windows-alustalla, ajaa saman asian käsittääkseni Task Scheduler, jota en ole ikinä saanut toimimaan(lue: kokeilin joskus kerran, ei toiminut ja luovutin :))
.
Aihe on jo aika vanha, joten et voi enää vastata siihen.