Diskuze: Odpočet času v souboru s PHP
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
na prácu s dátumom odporúčam http://momentjs.com/
a na obnovovanie, nejaký interval, alebo myslím že je na to rovno aj
knižnica nejaká len si nespomeniem na jej názov
$content .= 'Následující odpočet bude počítat do data 12. 5. 2015 <br>';
$content .= '<p id="odpocet" data-konec="05/12/2015 00:00:00" data-hlaska="Čas vypršel!" data-zbyva="Do odpočtu zbývá:"></p>';
$content .= '<script src="cesta/k/countdown.js"></script>';
$content .= '<script>odpocet(document.getElementById("odpocet"));</script>';
Ori: Díky za tip, jdu pročítat manuál a třeba se mi to zalíbí tak, že to budu do budoucna používat
Lukáš Červený:
Celý javascript jsem hodil do jednoho souboru, formátování UTF-8 jako celý
projekt. Javascript je ve stejné složce jako PHP soubor.
Ve výsledku se na výstupu nic neukázalo. Přikládám cestu k souboru.
$content .= '<script src="CountDown.js"></script>';
Jakým způsobem vypisuješ HTML kód? předpokládám, že echo $content.
Pokud v HTML kódu vidíš, <script src...>, zkontroluj v prohlížeči,
že se ho podařilo načíst.
(Prohlížeče mají různé debugovací funkce, ve firefoxu si např. můžu ve
zdrojovém kódu zobrazit i kódy všech dodatečně načítaných
souborů).
Ahoj, podívej se na zdroják vygenerované stránky Ctrl+U, zda je
zde vše v pořádku, jak má být. Poté si ještě ověř, zda v souboru
CountDown.js již nemáš tagy <script>, je už to
totiž js soubor, proto zde tyto tagy jsou zbytečné a způsobí ti
nefunkčnost kódu.
Pokud je vše v pořádku zaměř se, jestli si neudělal někde překlep v
názvu funkcí atd, popřípadě to zkus udělat nejprve bez php a poté
postupně přidávej php kód. Bude to nějaká zbytečná chyba, které se
všichni zasmějeme.
Jedná se o wordpressový plugin, takže já vytvořím funkci a jako return vrátím to, co bych normálně vypsisoval echem. V HTML kódu stránky se ty naše řádky ukazují -> to je asi odpověď na tvoji otázku.
Používám chrome a načtení javascriptového souboru se podle mě povedlo
-> soubor se mi otevře, když kliknu na odkaz ve zdrojáku.
Pro ověření, kód se vypisuje na http://www.kamzici.g6.cz/ukoly/ , náš kód najdete podle
"script src".
Po otevření javascriptového souboru na začátku ani na konci tag <script> není. V PHP chyba není, jen tam čistě vypisuji to, co má být jako HTML.
Nevím nevím, kéž bych uměl JS
Jako první věc, které jsem si všiml je ta, že funkce odpocet, kterou voláš, neexistuje. Kód jsem ještě nezkoumal, ale podívej se, zda ty funkce nemáš přejmenované a zda je tam máš nakopírované z toho odkazu úplně všechny... http://kod.djpw.cz/xby
Fredep měl pravdu, špatně jsem to nakopíroval resp. jsem to kopíroval tolikrát, až jsem se někde překlikl a způsobilo to nefunkčnost kódu.
Druhou věcí, co jsem měl nejspíš špatně byl ten výpis do HTML. Nakonec jsem to udělal tou nejméně náročnou cestou. Celý Javascript jsem dal do proměnné $content, a ten celý jeden příkaz dal do druhého souboru, aby nezavazel. Soubor pak přikládám příkazem include_once.
Ve výsledku to vypadá takto:
Soubor count-down.php
<?php
// This file is importing javascript for coundown to file kamzici-ukoly.php
// Script is from http://jecas.cz/odpocitavani
$content .= '
<script>
var vterina = 1000;
var minuta = vterina * 60;
var hodina = minuta * 60;
var den = hodina * 24;
/*Dál kód pokračuje stejně jako v odkazu */
';
a soubor kamzici-ukoly.php
include_once "count-down.php"; // $content .= javascript for countdown
$content .= '<div id="odpocet" data-konec="'.$expiration.'" data-hlaska="Čas k vyřešení šifry už uplynul!" data-zbyva="Tato šifra skončí za">Je třeba povolit javascript pro zobrazení odpočtu!</div>';
$content .= '<script>odpocet(document.getElementById(\'odpocet\'));</script>';
Zobrazeno 9 zpráv z 9.