Autor Zpráva
Suta
Profil
Zdravím,

PHP ovládám slušně, javascript bohužel téměř vůbec. Potřeboval bych pomoci

s konkrétně napsaným scriptem, který by mi každých x-sekund otevíral určitý php script

(konkrétně mi jde o to, abych refresh stránky v chatu prováděl pouze tehdy, pokud nastane nějaká změna - nová zpráva, nově přihlášený uživatel atd... a chci to udělat tak, aby se do malinkého iframu načítal php soubor se scriptem, který se těch každých x-sekund podívá do databáze a zjistí aktuální informace - pokud tam budou, provede se refresh).

Možná to vypadá složitě, ale princip jde jednoduchý, potřebuji pouze pomoci s tím javascriptem. Díky.
tiso
Profil
konkrétně mi jde o to, abych refresh stránky v chatu prováděl pouze tehdy, pokud nastane nějaká změna - nová zpráva, nově přihlášený uživatel atd...
Ako si predstavuješ že toto zaistíš pomocou toho JS?
Suta
Profil
tiso
Je to napsané v mém příspěvku, zkus si to přečíst znovu. Javascript zavolá do iframu php soubor se scriptem.. ten to již zjistí.. (a to tak, že na základě porovnání posledních operací uložených u uživatele v SESSION a těch aktuálnějších v databázi buď provedu, nebo neprovedu refresh; provedu-li, opět si do SESSION uložím např. $cas_posledni_zpravy a $cas_posledniho_prihlaseneho .. a opět pouze scrytě tahám aktuální informace z databáze tím javascriptem atd... stále dokola..)

Jde mi o zápis toho javascriptu, díky.
tiso
Profil
Suta
Čítal som ho viackrát... Ale stále nerozumiem. Asi máš iné predstavy o tom ako funguje JS a PHP.
1. stačí Ti v jednom malom iframe mať stránku s meta-refreshom, ktorá by pri zmene vecí pomocou javascriptu obnovila celú stránku (cez window parrent)
2. žeby ajax? Ale ten funguje inak trochu inak...
Suta
Profil
tiso

Ano, přesně jak píšeš v bodu č.1. V podstatě jsi mě i trknul v tom smyslu, že vlastně nepotřebuji javascriptem napsaný příkaz, který by v tom malinkém iframu po x-sekundách spouštěl tamní script... stačí tam dát PHPčkem refresh po x-sekund.. a pak už jen takto

<script language='JavaScript'>parent.frames.text.location = 'text.php';</script>


nebo takto

<script language='JavaScript'>parent.frames.online_prihlaseni.location = 'online_prihlaseni.php';</script>


obnovovat příslušná okna v nichž proběhla změna.

Díky. Ten zápis časovaně zpouštěného javascriptu tedy již nepotřebuji, vystačím se s PHP.
Joker
Profil
Suta
Tohle je řekl bych typický úkol pro AJAX, takže nějaký tutoriál a učit se, učit se, učit se ;-)
Suta
Profil
Joker
Možná, neznám AJAX, třeba časem, teď nemám čas učit se nové věci a musím si vystačit s tím, co umím. Přesto dík za připomínku.
Suta
Profil
Tak jsem zpět :) Pustil jsem se do toho Ajaxu.. jelikož při automatickém refreshi - i když je to malinkatý nebo neviditelný iframe - vždy přeblikne obrazovka.. To nechci.

O Ajaxu jsem si zjistil, že dokáže načíst php soubor a vrátit výsledek, přičemž se přitom nenačítá znovu celá stránka. Přesně to potřebuji.

Potřebuji jedno: jak tedy pomocí tohoto scriptovacího jazyku načíst php stránku a vrátit výsledek? Hledal jsem na více místech, ale zřejmě nepochopil, protože jsem to zkoušel všemožně a stále nic..

Prosím o radu, já našel tohle:


<script>

/*v souboru aktualizace.php se meta tagem refresh dotazuju na databázi a zjišťuji aktuální informace */
var url = aktualizace.php;

if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange = function () {processRequest(); } ;
httpRequest.send(null);
</script>


Když jsem do souboru aktualizace.php dal třeba pouze echo "ahoj"; - nic mi nevypsal... asi to špatně chápu, prosím o radu.
Suta
Profil
Potřeboval bych hlavně informaci, jak pomocí AJAXU načíst stránku, která by se skrytě vykonávala... Na krátké praktické ukázce. Díky všem za radu.
peta
Profil *
Suta
kratka prakticka ukazka, klikni OK, napis par radku...
http://mracek.hostuju.cz/chat/

a samozrejme nepouzivam httprequest jako gmail.com ale pouzivam skryty iframe
Suta
Profil
Tak jsem na to konečně kápnul.. chybička se vloudila.

1. Již se mi podařilo rozchodit načítání jiné stránky, která se vykoná
2. Když však v souboru, který AJAXem načítám mám refresh (každé tři vteřiny), tento nefunguje - tedy soubor proběhne vždy pouze jednou a refresh se ignoruje.
3. Jak docílit aby se stránka volaná AJAXem volala každých x-sekund? Nějak javascriptem bo to přes ten refresh (který umístím do volané stránky) musí jít?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0