Autor Zpráva
TrueFriend
Profil
Ahoj.
Mám problém týkající se fuknkce refresh v prohlížečích.
Tento script by měl umět to, že vygeneruje jedno náhodné číslo dle rozpětí, to uloží do souboru a refreshuje stránku dle tohoto čísla, které si zpětně přečetlo v souboru, který script předtím uložil.
Vím, že by bylo snadnější to ukládání do souboru vůbec nedělat, ale jde o to, že jiný PHP soubor informuje pomocí javascriptu návštěvníka o tom, za jak dlouho bude stránka opět obnovena... ten údaj si načítá právě z onoho souboru TXT. takže proto je ukládání do souboru.
Funguje:
Ukládání a čtení čísla ze souboru, výpis (odpočítávání) z tohoto čísla návštěvníkovi.
Nefunguje:
Funkce refresh po uplynutí určité doby, kterou si přečetlo z TXT souboru.

Tady je základní script:

<?php
$genecislo = rand(1,6);
$fa = fopen("soubor.txt", "w");
fwrite($fa, "$genecislo");
fclose($fa);
?>

<html>
<head>
<meta http-equiv="refresh" content="<? $fb = fopen("soubor.txt", "r"); $fc = fread($fb,1); fclose($fb); echo $fc; ?>;url=start.php">

<meta http-equiv="Content-Language" content="cs">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>

<body>
Číslo refreshe: <? $fd = fopen("soubor.txt", "r"); $fe = fread($fd,1); fclose($fd); echo $fe; ?>
</body>
</html>

Prosím, poraďte
Anonymní
Profil *
Za prvé místo toho txt by bylo mnohem vhodnější použít session. Pokud nefunguje meta refresh hlavičkka, což je divné, jde to udělat i v javascriptu: setTimeout("MojefceRefresh(url)", 100); , čas je v ms. ve funklci refresh stačí zavolat: location.href=url;
TrueFriend
Profil
bohužel ani ta funkce v javascriptu nefunguje.
Zkusil jsem tohle, ale nezabralo:

<SCRIPT LANGUAGE="JavaScript">
<!--
function refresh()
{
window.setTimeout("window.location='start.php'",<? $fb = fopen("soubor.txt", "r"); $fc = fread($fb,1); fclose($fb); echo $fc*1000; ?>);
}
// -->
</SCRIPT>

<body onLoad="refresh();">

Jestli se to dá řešit pomocí session, neví někdo jaké změny bych měl ve scriptu udělat?
TrueFriend
Profil
vyřešil jsem to takhle:

<script type="text/javascript">
setTimeout("document.location.reload()", <?$fb = fopen("soubor.txt", "r");$fc = fread($fb,1);fclose($fb);echo $fc*60*1000?>);
</script>

to už funguje. Díky všem za nasměrování :) hlavně Anonymní
Toto téma je uzamčeno. Odpověď nelze zaslat.