Výsledky 1 až 8 z 8

Téma: [PHP,JAVA] Predavani promennych

  1. #1

    Standardní [PHP,JAVA] Predavani promennych

    Ahoj,

    mam problem s predavanim promennych mezi PHP a Jscriptem. Konkretne mi ted jde o predani vstupni promenne - casu ze serveru (PHP) do Jscriptu.

    Problem je, ze nasledujici skript nefunguje, jak by mel (aktualni serverovy cas zobrazi, ale neobnovuje se ;o/

    <!--
    function obnovCas() {
    var PraveTed = new Date();
    var hod = PraveTed.getHours().toString();
    var min = PraveTed.getMinutes().toString();
    var sec = PraveTed.getSeconds().toString();

    var cas = <? echo date("H:i:s")?>;

    document.forms["hodiny"].cas.value = cas;
    setTimeout("obnovCas();", 1000);
    }
    //-->

    Nevite nekdo, v cem je problem

    PS: taky bych potreboval znat zpusob, jak predat promennou obracene z PHP do Jscriptu.

    Dik moc!

    Zd.
    ------------------------------------
    By Zdebor 2002.
    ICQ 169898929

  2. #2
    Senior Member minceVIP Avatar uživatele sisi
    Založen
    24.02.2003
    Bydliště
    Auckland, NZ
    Příspěvky
    2 176
    Vliv
    294

    Standardní

    Pozri si to plain HTML co Ti to PHP vygeneruje a pochopis, preco sa ten cas "neobnovuje"... Btw. naco tam mas zavedene premenne "PraveTed", "hod", "min", "sec", ked ich potom dalej ignorujes?
    Intel Core 2 Duo E6600 @ 3.2GHz (8 * 400MHz) @ 1.3V with Zalman CNPS9500 AT @ 1800RPM, ASUS P5B Deluxe/WiFi, 2x1GB Corsair Twin2X PC2-6400 DDRAM @ 400MHz (4-4-4-12) @ 2.1V, Leadtek 8800GT 512MB, WD Caviar SE16 250GB, Asus DRW-1608P3S, Creative SB Audigy Value, Logitech X-230 speakers, Enermax Liberty 400W, 2x120mm Thermaltake case fan @ 1800RPM, Thermaltake Aguila black case, HP LP2065 LCD, Logitech MX400

  3. #3

    Standardní

    Mozna jsem jen tupej, ale nejsem zas tak dobrej programator, aby mne to HTML trklo..

    Co tohle:

    <body onLoad="obnovCas();">
    <script language="JavaScript">
    function obnovCas() {
    var cas = "<?echo date("H:i:s")?>";
    document.write(cas);
    setTimeout("obnovCas();", 1000);
    }
    </script>
    </body>

    proc to nefacha??
    ------------------------------------
    By Zdebor 2002.
    ICQ 169898929

  4. #4
    Senior Member minceVIP Avatar uživatele sisi
    Založen
    24.02.2003
    Bydliště
    Auckland, NZ
    Příspěvky
    2 176
    Vliv
    294

    Standardní

    To je o tom istom... to vysledne HTML bude vyzerat takto:
    Kód:
    <body onLoad="obnovCas&#40;&#41;;">
    <script language="JavaScript">
    function obnovCas&#40;&#41; &#123;
    var cas = "*Tu je casovy udaj zo serveru v momente vykonania requestu*";
    document.write&#40;cas&#41;;
    setTimeout&#40;"obnovCas&#40;&#41;;", 1000&#41;;
    &#125;
    </script>
    </body>
    Takto to nepojde... o co Ti vlastne ide? Aby sa na tej stranke zobrazoval stale aktualny serverovy cas? Je to take kriticke aby to bol prave casovy udaj zo serveru?
    Intel Core 2 Duo E6600 @ 3.2GHz (8 * 400MHz) @ 1.3V with Zalman CNPS9500 AT @ 1800RPM, ASUS P5B Deluxe/WiFi, 2x1GB Corsair Twin2X PC2-6400 DDRAM @ 400MHz (4-4-4-12) @ 2.1V, Leadtek 8800GT 512MB, WD Caviar SE16 250GB, Asus DRW-1608P3S, Creative SB Audigy Value, Logitech X-230 speakers, Enermax Liberty 400W, 2x120mm Thermaltake case fan @ 1800RPM, Thermaltake Aguila black case, HP LP2065 LCD, Logitech MX400

  5. #5

    Standardní

    No dalo by se to asi vyresit neustalym prepocitavanim Jscriptu, ale to vlastne stejne neresi ten problem, ze potrebuju poprve nacist do Jscriptu serverovy cas (coz asi jinak nez pres PHP neudelam), a pak s tim uz Jscriptem neco delat.

    Takze jeste jednou - potrebuju do Jscriptu nacist serverovy cas a pak uz standardne obnovovat tak, aby se cas udrzoval stale aktualni.

    Diky za snahu.

    PS: Tuhle funkci nacitani nejake externi promenne z PHP do Jscriptu a obracene potrebuju u vice funkci, tak to tak jako tak potrebuju nejak vyresit...
    ------------------------------------
    By Zdebor 2002.
    ICQ 169898929

  6. #6
    Senior Member minceVIP Avatar uživatele sisi
    Založen
    24.02.2003
    Bydliště
    Auckland, NZ
    Příspěvky
    2 176
    Vliv
    294

    Standardní

    Ano, je to jedine rozumne riesenie. Zobrat server time v case requestu (serverTime), client time v case loadnutia stranky (clientTime) a nasledne zobrazovat current server time ako (serverTime + (currentClientTime - clientTime)). Nebude to bohvieako presne, ale lepsie ako nic. Hodnotu serverTime dostanes do skriptu jednoducho, neviem kde tam vidis problem... pozri si napr. MSDN JScript reference, tam najdes vsetko potrebne pre manipulaciu s casom v skriptoch.
    Intel Core 2 Duo E6600 @ 3.2GHz (8 * 400MHz) @ 1.3V with Zalman CNPS9500 AT @ 1800RPM, ASUS P5B Deluxe/WiFi, 2x1GB Corsair Twin2X PC2-6400 DDRAM @ 400MHz (4-4-4-12) @ 2.1V, Leadtek 8800GT 512MB, WD Caviar SE16 250GB, Asus DRW-1608P3S, Creative SB Audigy Value, Logitech X-230 speakers, Enermax Liberty 400W, 2x120mm Thermaltake case fan @ 1800RPM, Thermaltake Aguila black case, HP LP2065 LCD, Logitech MX400

  7. #7

    Standardní

    hm, hlavni problem je, ze kvuli zadny metode onload se vubec server zapojovat nebude, chapes, ze php vygeneruje html stranku s jscriptem, ve kterym ti php hodi cas, ve kterym se to nacitalo, ale potom uz to je u klienta a ten ma porad stejny cas. Musis tu stranku refreshovat, at uz metaznakem v hlavicce nebo jinak.
    btw proc chces porad nacitat cas ze serveru to je konina. spis to nacti na zacatku (v podstate tak jak to je ted) a davej timeout na zvetsovani poctu sekund + nejaky ty prechody na minuty po 59. sekunde apod. nebo pokud zvlada jscript prevod unixovyho timestampu, tak je to uplne trivialni:
    Kód:
    <script type="text/javascript">
    <!--
      var timestamp = <?= time&#40;&#41; ?>;
      setTimeOut &#40;"timestamp++;",1000&#41;;
    // -->
    </script>
    Pak budes muset samozrejme nekde mit i nejaky pole/text pro zobrazeni aktualniho stavu ty promenny, nebo proste misto promenny to das primo jako value/innerText nejakyho elementu.

    EDIT: tak trochu pozde (ale prece )
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  8. #8

    Standardní

    Diky za info, problem z predavanim promenych z PHP do Jscriptu jsem uz s vasi pomoci vyresil.
    Mam vsak jeste jeden problem - a to v tom, ze potrebuji predat promenou druhym smerem (Jscript --> PHP).
    Tusim, ze je to nejak mozne pres metodu GET, jenze problem je, ze nikde nemuzu najit vhodny atribut funkce GET tak, aby se mi promenna z Jscriptu do PHP nacetla.
    ------------------------------------
    By Zdebor 2002.
    ICQ 169898929

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •