Autor | Zpráva | ||
---|---|---|---|
TrueFriend Profil |
#1 · Zasláno: 22. 8. 2006, 06:02:53
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 * |
#2 · Zasláno: 22. 8. 2006, 14:43:24
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 |
#3 · Zasláno: 22. 8. 2006, 17:32:47
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 |
#4 · Zasláno: 22. 8. 2006, 18:24:44
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í |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0