Zadejte hledaný výraz...

Načtení stavu PHP + Ajax

Zdravím,
hledám nějakou možnost sladění Ajaxu a PHP, abych byl schopný tohoto:
Uživatel má na stránce vypsaný počet vzkazů, potřebuji ale aby se právě pomocí Ajaxu vždy třeba po 10-ti sekundách zavolal script, který pro aktuálního uživatele zjistí počet vzkazů a ty vypíše. Ajax by je každých 10 sekund zpracoval a vypsal. Uživatel by tak měl aktuální informaci o tom kolik má vzkazů.
Napadá Vás něco? Je to vlastně jednoduché zavolání scriptu PHP s nějakými parametry GET pro identifikaci daného uživatele.
Díky za pomoc.
8. 5. 2012 13:35:31
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762779
P-ierre
verified
rating uzivatele
(43 hodnocení)
8. 5. 2012 13:44:51
pocet_vzkazu.php:
zobraz_pocet.php
Není to ošetřené na různé XSS vstupy, ale řešení v tom snad je vidět.
//edit: upravil jsem původní kód z GET na SESSION, aby se ID uživatele předávalo jen na serveru
8. 5. 2012 13:44:51
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762778
Super, šlo mi hlavně o ten JS (Ajax) protože ten neumím. V PHP si to už ošetřím, díky za posunutí, jdu to zkusit.
---------- Příspěvek doplněn 08.05.2012 v 14:17 ----------
Tak jsem to zkusil, PHP script normálně vypisuje číslo nepřečtených vzkazů. JS s ním ale asi nespolupracuje.
-> kód PHP je ve stejném adresáři
U JS by tímto způsobem ty parametry v GET snad vadit neměli ne?
Díky.
8. 5. 2012 13:47:22
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762777
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
8. 5. 2012 14:29:40
Nějaké bližší info z běhu toho skriptu? Jquery do stránky vložené máte? (bez něj tento skript fungovat nebude)
8. 5. 2012 14:29:40
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762776
Jquery vloženo přímo z webu Jquery - http://code.jquery.com/jquery-1.7.2.min.js
Jinak ten script v PHP prostě jen vyhledáte podle těch dat v GET o koho se jedná a vypíše z DB kolik má uživatel zpráv. Nefunguje to ale ani když je tam jenom echo a nějaké číslo, takže na straně toho PHP scriptu to nebude.
8. 5. 2012 14:33:52
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762775
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
8. 5. 2012 14:39:21
Chtělo by to použít nějakou debug konzoli, ta prozradí, kde je problém :) Ale jinak
takto by to mohlo být lepší :)
8. 5. 2012 14:39:21
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762774
Už jsem na to přišel,
stačilo ten div umístit nad ten JavaScript a začlo to fungovat...
Díky za pomoc všem :)
8. 5. 2012 15:35:18
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762773
Pro budoucí čtenáře:
Abyste kód jQuery oddělili od pořadí načítání HTML a mohli ho například načítat z externího souboru, obalte ho celý v pomocné funkci
což je zkratka pro
setTimeout() přijímá jako první argument buď funkci nebo řetězec s kódem.
Viz https://developer.mozilla.org/en/DOM/window.setTimeout
Preferovaná je první varianta.
8. 5. 2012 18:31:41
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762772
node
verified
rating uzivatele
(5 hodnocení)
8. 5. 2012 21:36:20
Myslim ze kod treba pisat do
8. 5. 2012 21:36:20
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762771
To je něco jiného - funkce, kterou uvádíš, se zavolá okamžitě.
Tento zápis
se zavolá po načtení DOMu.
8. 5. 2012 21:59:19
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762770
node
verified
rating uzivatele
(5 hodnocení)
9. 5. 2012 22:01:19
Hm. Ja som bol v tom ze, ak sa nezavola kod hentak tak skript nebude poznat '$' a vrati chybu. Ja robim len s Drupalom a tam vzdy ked pisem novy javascript, tak to tak musi byt uvedene.
Aj cudzie skripty/pluginy co som pozeral od tretich stran su vzdy v hentakom tvare, tak som to bral ako samozrejmu vec ze to tak plati vzdy a vsade. Bez toho by skript pochopil iba jQuery('#something').doSomething();
9. 5. 2012 22:01:19
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762769
To je pouze specialitka Drupalu, který automaticky nahrává jQuery s noConflict() a uvolňuje znak $ pro jiná použití.
http://drupal.org/update/modules/6/7#javascript_compatibility
Takže ano, pro Drupal to je potřeba, všechny ostatní weby, pokud také nevolají .noConflict(); mají $() zdarma.
Pro Drupal by ten zápis vypadal takto:
A nebo prostě
:)
9. 5. 2012 22:38:10
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762768
node
verified
rating uzivatele
(5 hodnocení)
10. 5. 2012 12:52:25
Dik za objasnenie(noConflict()). V d6 sa pisalo tak ako pises ty, v d7 to zmenili aby nebol D. tak previazany iba s jQuery a bolo lahsie pouzit mootools extjs a pod.
10. 5. 2012 12:52:25
https://webtrh.cz/diskuse/nacteni-stavu-php-ajax/#reply762767
Pro odpověď se přihlašte.
Přihlásit