Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Działanie HTTP POST i jego wpływ na aplikacje
Forum PHP.pl > Inne > Hydepark
Niktoś
Witam , czy każdorazowe wykonanie żądania HTTP POST powoduje parsowanie całego dokumentu w języku PHP?
l0ud
Wybacz, ale to pytanie w takiej formie jest bez sensu.
Niktoś
Cytat
Wybacz, ale to pytanie w takiej formie jest bez sensu.

Faktycznie jestem trochę skołowany.NA jednym przykładzie w php,zauważyłem ,że odczyt parametrów z tablicy POST odbywa się w ten sam sposób zarówno kiedy żądanie jest inicjowane w obrębie aplikacji(domeny),jak i kiedy żądanie jest wysyłane z zewnętrznej domeny(innej stron www/innego serwisu),czy to ma coś wspólnego że dokument jest przy każdym żądaniu parsowany?Jeśli tak, to komunikacja z zewnętrznymi serwisami jest znacznie uproszczona w przeciwieństwie do Net c#.
A może się mylę ,bo nie jestem ekspertem w PHP.Że tak powiem te ćwiczenie co robię daje mi dużo do myślenia przynajmniej w kwestii wysłania/odbierania żądań w programowaniu rozproszonym.
mls
Nie da się wykonać $_POST - to jest tylko zmienna. Nie wiem jakie znasz języki programowania, i czy w ogóle jakieś, bo Twoje wypowiedzi nie mają żadnego logicznego sensu.
Niktoś
To nie tylko zmienna, chodziło mi o metodę przesyłu danych POST i jak oddziałuje ona na aplikacje PHP.Czy dokument jest parsowany każdorazowo przy tym rządaniu.
A propo to nie jest zmienna to jest metoda odwołująca się do tablicy post.
if ($_POST)-bierze pod uwagę całą tablicę
if ($_Post["dane"])-bierze pod uwagę parametr dane wysyłany za pomocą metody post

Zmieniam tytuł,bo co niektórzy chyba rozkminić tego nie mogą.
l0ud
$_POST to globalna zmienna tablicowa a nie żadna metoda!

$_POST - odnosi się do całej tablicy
$_POST['dane'] - odnosi się do elementu 'dane' w tej tablicy.
Jaki ma to związek z funkcjami?

Dokument jest parsowany przy każdym żądaniu. Niezależnie od tego, czy to żądanie zawiera jakieś dane POST czy nie. Przy każdym żądaniu skrypt jest przetwarzany od początku do końca, a od Ciebie zależy czy będzie robił to wydajnie czy nie.

Wciąż nie rozumiem pytania, być może jakaś osoba pisząca w C# by się lepiej domyśliła o co Ci chodzi.
Niktoś
@UP wreszcie rzeczowa odpowiedź.

To bez względu czy dane będą wysyłane z lokalnego komputera,czy zdalnie np. z innej strony/domeny to dokument zostanie przeparsowany(od początku do końca) a dane wyświetlone?

Jak tak to takiej komunikacji między serwerami C# NET może tylko pozazdrościć bo jest prościutka.Kurcze rozjaśniło mi to troszeczkę,ja żądania pochodzące od klienta muszę inaczej obsługiwać ze względu na wieloprocesowość i kompilowalność.

Czy ktośby dał wiarę,żeby leciał POST od klienta a w międzyczasie mogę zrobić u siebie 200000 innych żądań i nie będzie mieć to wpływu na działanie aplikacji.

Najlepsze że leci sobie ten POST do mnie z innego serwisu ,a nie mogę odebrać danych które mają zostać mi przekazane w tym żądanie.Brak mi pomysłu jakby odebrać te dane już nawet zacząłem TCPListenery budować oparte na socketach,aby nasłuchiwać nadchodzące żądania.

Nic dziękuję, za uwagę raczej nikt mi tutaj nie pomoże.

PS.Sorki za tak groteskowe pytanie,co dla większości wręcz oczywiste.Kiedyś sądziłem ,że PHP z C#NET więcej łączy niż dzieli ale po tym co zobaczyłem definitywnie zmieniam zdanie.
by_ikar
POST wygląda bardzo podobnie do GET, tyle że w przypadku POST, leci dodatkowa tablica w nagłówkach, która to jest właśnie tablicą POST. Nie wiem czy widziałeś kiedyś taką listę nagłówków, jak nie, to sprawdź w jakiejś przeglądarce jak to wygląda i czym się różni.
Crozin
Czytam Twoje posty, próbuję cokolwiek sensownego wyciągnąć ze słów-kluczy (bo o jakiejś logicznej wypowiedzi można tutaj zapomnieć) i jedyne do czego udało mi się dojść to to, że albo nie masz pojęcia o sposobie działania protokołu HTTP albo o sposobie działania serwera aplikacji w .Netcie.

Żądanie HTTP zawsze jest w całości przetwarzane i zawsze powinna być dla niego przygotowana odpowiedź.
Cytat
Czy ktośby dał wiarę,żeby leciał POST od klienta a w międzyczasie mogę zrobić u siebie 200000 innych żądań i nie będzie mieć to wpływu na działanie aplikacji.
No nie, no przecież każdy tutaj myślał, że jak jedna osoba wysyła/odbiera żądanie to wszyscy inni mogą zapomnieć o dostępie do serwisu.
Cytat
Najlepsze że leci sobie ten POST do mnie z innego serwisu ,a nie mogę odebrać danych które mają zostać mi przekazane w tym żądanie.Brak mi pomysłu jakby odebrać te dane już nawet zacząłem TCPListenery budować oparte na socketach,aby nasłuchiwać nadchodzące żądania.

Nic dziękuję, za uwagę raczej nikt mi tutaj nie pomoże.
Zwoje w mózgu się skręcają do granic możliwości, ale ni cholery nie da się zrozumieć o co Ci może chodzić. Chyba masz rację, chyba nikt nie będzie Ci tu wstanie pomóc.
Theqos
Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
Nic dziękuję, za uwagę raczej nikt mi tutaj nie pomoże.
Chłopie, jesteś naćpany czy co... Naprawdę próbowałem zrozumieć to co napisałeś, ale to jakiś bełkot. Wygląda jakbyś losowo wstawiał w tekst pojęcia, o których nie masz pojęcia wink.gif


Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
Jak tak to takiej komunikacji między serwerami C# NET może tylko pozazdrościć bo jest prościutka.

Co może C# NET komu zazdrościćquestionmark.gif Prostej komunikacji w PHP??

Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
ja żądania pochodzące od klienta muszę inaczej obsługiwać ze względu na wieloprocesowość i kompilowalność.

Ze względu na co??

Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
Czy ktośby dał wiarę,żeby leciał POST od klienta a w międzyczasie mogę zrobić u siebie 200000 innych żądań i nie będzie mieć to wpływu na działanie aplikacji.

Na co mam dać wiarę? Co to znaczy "zrobić 200k innych żądań u siebie"... co to znaczy brak wpływu...

Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
Najlepsze że leci sobie ten POST do mnie z innego serwisu ,a nie mogę odebrać danych które mają zostać mi przekazane w tym żądanie.

Jakie żądanie? Żądaniu? Dlaczego nie możesz tych danych odebrać?

Cytat(Niktoś @ 28.01.2012, 21:43:50 ) *
Brak mi pomysłu jakby odebrać te dane już nawet zacząłem TCPListenery budować oparte na socketach,aby nasłuchiwać nadchodzące żądania.

Podstawy, podstawy i jeszcze raz podstawy. Bez tego błądzisz po omacku.

Anyway tak na początek:
http://en.wikipedia.org/wiki/Inter-process_communication
http://en.wikipedia.org/wiki/Remote_procedure_call
http://en.wikipedia.org/wiki/Web_service
http://en.wikipedia.org/wiki/Representational_state_transfer
Niktoś
Postaram się to wyjaśnić:
Użytkownik wypełnia dane na jednym z serwisów, po wypełnieniu ich zostaje przekierowany na moją stronę, w procesach serwerowych ta czynność widnieje jako GET.Po przekierowaniu na daną stronę po 10s z serwisu z którego został przekierowany wysyłane jest żądanie POST z pewnym parametrem,w procesie serwerowym ta czynność widnieje pod nazwą POST.
I teraz ,żeby użytkownikowi wyświetlić te dane wystarczy zamieścić kod echo $_POST["parametr"].
W NET c# tak prosto nie jest- robiłem Response.Write(Request.Form["parametr"]),jednak dane nie zostały wyświetlone.
Na jednym z for dostałem odpowiedź:
Cytat
Strona asp którą wyświetlasz teraz i strona którą wyświetlisz po odświeżeniu to są osobne obiekty i osobne obszary pamięci. Tak samo strona wyświetlana tobie po redirect to nie jest TA SAMA strona która została wyświetlona partnerowi tylko TAKA SAMA, tylko nie zmieniona jego danymi.

I już nie wiem co zrobić,aby przekazywane dane odebrać i przetworzyć.
mls
Mówiąc krótko - nic nie zrobisz. To, co użytkownik otrzymał w momencie otwarcia strony metodą GET nijak się ma do tego, gdzie będzie wysłany POST po 10 sekundach. O ile w ogóle byłby wysłany. Skoro już chcesz otrzymać jakąkolwiek pomoc, może wytłumacz nam skąd takie a nie inne zachowanie serwisu. Nie można tego przekazać od razu? Albo po co chcesz to wyświetlać użytkownikowi? Jedyne, co mi przychodzi do głowy to jakiś system dostępu oparty o kliknięcie w linki stron partnerskich. Ale i to wykonuje się inaczej...
Niktoś
Niestety regulamin tamtego serwisu zabrania mi udostępniać ich skrypty.Zostaje "bombardowany" ze strony tamtego serwisu zapytaniami HTTP POST ,gdyż chcą mi przekazać parametr,a ja nic nie mogę z tym zrobić?
Powiem tylko ,tyle że skrypt php odbioru danych jest tak prosty jak budowa cepa i laik PHP nawet by go zrozumiał,gdy przerobie go na kod c# NET działać nie chce.
Chyba będę musiał prosić o pomoc supportu tamtego serwisu.Myślałem ,że jak szerzej przedstawię swój problem,to jakaś życzliwa osoba wytłumaczy ,albo naprowadzi na właściwy tok rozumowania, abym mógł sobie sam poradzić z problemem, a tu tylko:
Cytat
Chłopie, jesteś naćpany czy co... Naprawdę próbowałem zrozumieć to co napisałeś, ale to jakiś bełkot.
Crozin
Cytat
.Myślałem ,że jak szerzej przedstawię swój problem,to jakaś życzliwa osoba wytłumaczy ,albo naprowadzi na właściwy tok rozumowania, abym mógł sobie sam poradzić z problemem, a tu tylko:
Cytat
Chłopie, jesteś naćpany czy co... Naprawdę próbowałem zrozumieć to co napisałeś, ale to jakiś bełkot.
Nie wiem czy zauważyłeś, ale kilka osób już się w tym wątku wypowiedziało, więc ktoś jednak jest życzliwy i chce Ci pomóc. Ale wybacz, czytając [...] zostaje przekierowany na moją stronę, w procesach serwerowych ta czynność widnieje jako GET czy czy każdorazowe wykonanie żądania HTTP POST powoduje parsowanie całego dokumentu w języku PHP? nie da się tego potraktować inaczej niż bełkot.

Najpierw odpowiedz czy poniższy opis przedstawia Twoją sytuację. Nie ma sensu dyskutować gdy nie jesteśmy pewni czy Cię w ogóle dobrze zrozumieliśmy.

1. Istnieją dwie strony internetowe na kompletnie oddzielnych serwerach, powiedzmy strona A i B.
2. Użytkownik znajduje się na stronie A.
3. Wypełnia formularz i go wysyła (czy też klika w jakiś link) w obrębie strony A.
4. Strona A przetwarza jego żądanie po czym zwraca nagłówek Location przekierowujący na stronę B.
5. Przeglądarka reaguje na nagłówek - użytkownik zostaje przekierowany na stronę B.

Następnie upływa kilka sekund i...
6. Strona A samoczynnie (bez żadnej reakcji ze strony użytkownika) wysyła żądanie HTTP z jakimiś tam danymi do strony B.
7. Strona B odbiera to żądanie po czym w jakiś sposób odebrane dane powinny zostać przedstawione użytkownikowi na stronie z punktu #5. Innymi słowy w jakiś sposób na stronie B powinny nagle pojawić się użytkownikowi nowe dane.

Czy ten opis jest poprawny? Jak nie to doprecyzuj.

Po pierwsze to cały problem jest kompletnie niezależny od języka. Czy to PHP, Java, C# czy Python nie ma znaczenia bo problem jest na poziomie protokołu HTTP, a nie oprogramowania po stronie serwera.
Po drugie podstawowa cecha protokołu HTTP - "brak stanu/bezstanowość" (ang. stateless - nie da się tego chyba sensownie przetłumaczyć). Oznacza to, że wszystkie żądania (punkt #3, #5 oraz #6) są kompletnie niezależne od siebie i nie mają żadnego powiązania pomiędzy sobą. Dlatego też wypadałoby wprowadzić jakiś identyfikator, który byłby współdzielony przez te wszystkie żądania (dokładnie w ten sam sposób co identyfikator w mechanizmach sesji), aby powiązać je wszystkie ze sobą. Nie chciałbyś w końcu odczytać danych innego użytkownika.

Cała procedura mogłaby wyglądać następująco:
A. W punkcie #5 generujesz jakiś w miarę unikalny identyfikator, który zostaje zapamiętany na stronie A oraz dołączony jako fragment URL-a strony B, do której użytkownik zostaje przekierowany:
  1. // Strona A
  2.  
  3. $uid = /* wygenerowanie losowego ciągu */;
  4. $redirectURL = 'http://strona.b/?uid=' . $uid;
  5.  
  6. $db->save('do_wykonania_za_10_sek', array('uid' => $uid, 'param1' => 'wartość1', ...)); // dane dla skryptu, który wykona się za 10 sek.
  7. header('Location: ' . $redirectURL);

B. Strona B jest już wygenerowana, więc za 10 sek. nie będziesz wstanie wpłynąć już w żaden sposób na jej treść, dlatego też będziesz musiał skorzystać z AJAX-a* by co kilka sekund odpytywać serwer "czy pojawiły się już jakieś dane dla mojego identyfikatora?". Coś w stylu:
[JAVASCRIPT] pobierz, plaintext
  1. // strona B
  2.  
  3. window.setInterval(function() {
  4. sendXHR('http://strona.b/czy-sa-jakies-dane-dla-mojego-identyfikatora?uid={WARTOŚĆ UID Z URL-A}', function(data) {
  5. console.log("Pojawiły się następujące dane: " + data);
  6. });
  7. }, 5000);
[JAVASCRIPT] pobierz, plaintext

C. Mija kilka sekund, serwera A wysyła żądanie do serwera B. W żądaniu tym poza jakimiś tam danymi znajduje się jeszcze wcześniej wygenerowany identyfikator.
D. Strona B zapisuje odebrane i przetworzone dane w bazie danych.
E. Skrypt czy-sa-jakies-dane-dla-mojego-identyfikatora sprawdza czy dla podanego identyfikatora są zapisane w bazie jakieś dane, jeśli tak zwraca je.

* AJAX nie jest tutaj najlepszym rozwiązaniem, ale jest najprostszym w implementacji. Jeżeli chciałbyś by na stronie B nie było bezsensownych, cyklicznych żądań do czy-sa-jakies-dane-dla-mojego-identyfikatora, ani zbędnych opóźnień (patrz: setInterval) powinieneś skorzystać z dwukierunkowej komunikacji serwerB-klientNaStroneB - Google: JavaScript WebSockets, Comet Server, Bidirectional AJAX etc.
Niktoś
Opis jak najbardziej poprawny.Dziękuję.No i właśnie o takie profesjonalne wytłumaczenie mi chodziło.
Jedynie co mi brakowało to generowanie tokenów,które mają za zadanie wyizolować żądania z tego co zrozumiałem.
Myślałem,że da rady to zrobić bez tokenów.


Mam teraz tak,że podaje serwisowi teraz url z tokenem na który użytkownik zostanie przekierowany .Wygląda tak:
http://77.254.4.72/Info.aspx?klient=38kjAr...KRq1FLxh4841Crp

Po przekierowaniu użytkownika na w/w stronę po 10s serwis wysyła POST na stronę:
http://77.254.4.72/Info.aspx -do tej strony nie mogę dodać token adres ten jest ręcznie ustalany.

Na stronie http://77.254.4.72/Info.aspx?klient=38kjAr...KRq1FLxh4841Crp użyłem ajaxa:

[JAVASCRIPT] pobierz, plaintext
  1. window.setInterval(function() {
  2. xhr = new XMLHttpRequest();
  3. xhr.open('POST', 'http://77.254.4.72/Info.aspx', true);
  4. xhr.onreadystatechange = function (data) {
  5. if (xhr.readyState == 4) //4==DONE
  6. console.log(data);
  7. }
  8. xhr.send();
  9. }, 5000);
[JAVASCRIPT] pobierz, plaintext





Jednak dalej nie mogę wyłuskać informacji z tego posta.Co robię nie tak?Normalnie zrozumieć już tego nie mogę.
Crozin
Cytat
Po przekierowaniu użytkownika na w/w stronę po 10s serwis wysyła POST na stronę:
http://77.254.4.72/Info.aspx -do tej strony nie mogę dodać token adres ten jest ręcznie ustalany.
No to jeżeli nie w URL-u, to rozumiem, że jako jeden z parametrów leci ten token? W końcu drugi serwer musi mieć jakąś możliwość powiązania odebranego żądania z innym.

Wypadałoby też by żądanie wysyłane AJAX-em również zawierało token.
Niktoś
Chyba mnie to przerasta.
Te żądania ajaksowe wydają mi się w moim przypadku bezsensowne.
Obserwuje jak się zachowuje skrypt z użyciem ajaxowego requestu w debugerze serwerowym i firebuggu.
Otóż wygląda to tak:
Strona A z innej domeny wysyła żądanie POST na stronę B mojej domeny-oczywiście tego procesu nie będziemy widzieć w firebugu, za to pięknie widać jak skrypt się wykonuje w debugerze serwerowym.
Aby wyświetlić to co zostało wysłane przez stronę A z innej domeny używam requestu ajaxowego:
[JAVASCRIPT] pobierz, plaintext
  1. window.setInterval(function() {
  2. xhr = new XMLHttpRequest();
  3. xhr.open('POST', 'http://77.254.4.72/Info.aspx', true);
  4. xhr.onreadystatechange = function (data) {
  5. if (xhr.readyState == 4) //4==DONE
  6. console.log(data);
  7. }
  8. xhr.send();
  9. }, 5000);
[JAVASCRIPT] pobierz, plaintext

Tylko nie daje to żadnego efektu.
(xhr.readyState == 4) //4==DONE
console.log(data);

Fajnie to widać przy wykonywaniu przy otrzymywaniu wyniku, kiedy request się wykona xhr.readyState == 4(onsucces) i strona A z innej domeny wykonuje ten skrypt, widać to debugerze serwerowym, a czego nie widać w firebugu. Status on success jest wykonywany dla tamtej domeny nie dla mojej.Strona A z innej domeny wysyła kolejne żądanie i na kolejne żądanie dostaje odpowiedź, a u mnie efektów nie widać.A przecież o to mi chodzi aby przedstawić wynik użytkownikowi.
Po laicku mówiąc,wygląda to tak jakby strona Strona A z innej domeny parsowała Wasz dokument PHP ,a Wy nie moglibyście zobaczyć efektów tego, jedynie w debugerze serwerowym i nic nie mogli dalej z tym zrobić. Normalnie straszne to dla mnie.


Chyba ta odpowiedź wydaje mi się najbardziej trafna:
Cytat
Mówiąc krótko - nic nie zrobisz. To, co użytkownik otrzymał w momencie otwarcia strony metodą GET nijak się ma do tego, gdzie będzie wysłany POST po 10 sekundach


Jedyne rozwiązanie jakie przychodzi mi na myśl to zrobić chwilową blokadę wykonywania skryptu na 15-20s ,z loaderem "Proszę czekać.Trwa ładowanie danych".
Chodzi o to ,że że żądanie Post przesyła parametr.Tak więc według niego zrobię tą blokadę.jeśli zmienna nie będzie miała ustawionego parametru to chwilowo przerwę działanie skryptu.
Tak więc żądania z mojego serwera na tej stronie będą z timeoutem,żądanie z serwera partnera bez.Żądanie POST z serwera partnera będzie działać normalnie i wstawi mi dane wysłane postem do bazy danych,po czym uruchomi się dalsze wykonywanie skryptu i odczytanie danych z bazy.Kombinatorstwo,ale nic lepszego nie przychodzi mi na myśl.Temat do zamknięcia.
Crozin
I znowu bełkot... czytaj swoje posty przed wysłaniem bo są tak napisane, że za cholerę nie da się Ciebie zrozumieć. Już o rażącej interpunkcji z Twojej strony nawet nie wspominam.

Podesłałem Ci we wcześniejszym dosyć dokładny opis jak rozwiązać Twój problem, dlaczego się do niego nie zastosujesz?
kwiateusz
Uff a myślałem że to ja ułomny jestem i znowu nie mam bladego pojęcia o co sie rozchodzi...
Niktoś
Cytat
I znowu bełkot... czytaj swoje posty przed wysłaniem bo są tak napisane, że za cholerę nie da się Ciebie zrozumieć.


Czy ja pisze po hiszpańsku??Nie zarzucaj bełkotu, tylko powiedz czego nie rozumiesz a wytłumaczę.Takie posty w niczym mi nie pomagają.
Cytat
Podesłałem Ci we wcześniejszym dosyć dokładny opis jak rozwiązać Twój problem, dlaczego się do niego nie zastosujesz?

Owszem i podziękowałem klikając pomógł, jednakże nie działa to u mnie gdyż mam dwa różne requesty.
Jeden z mojego serwera,który powoduje wyświetlenie wyniku wysłanego przez żądanie ajaxa.
Drugi z serwera partnera, który nie wyświetla wyniku wysłanego przez żądanie ajaxa. Wynik ten jest wyświetlany dla serwera partnera.Serwer partnera wysyła kolejne żadanie i na kolejne żądanie dostaje odpowiedź,więc nie ma tu sensu.

Dam taki uprostszony schemat:
1.Serwer partnera wysyłą żądanie POST.Skrypt jest wykonywany jednak zmiany nie są widoczne dla użytkownika.
2.Aby zobaczyć jak funkcjonuje wywołanie requestu AJAXA ze strony serwera partnera,umieściłem funkcje po stronie mojego serwera(server-side), która uruchamia skrypt JS z żądaniem AJAXA w czasie gdy wykonywany jest u mnie post wysłany z serwera partnera. Efekt jest taki ,że nie ma żadnego efektu.Kolejne wygenerowanie kolejnego żadania POST ze strony partnera , na który serwer partnera dostaje odpowiedź, nie ja.

Nie wiem może coś źle robię.Poza tym, chyba moje rozwiązanie jest lepsze, niż cykliczne generowanie żądań HTTP POST
za pomocą ajaxa.
Aby udowodnić ,że nie bełkotam i nie majacze pokaże gotowy skrypt z pełnym opisem,jak zrobie.
strife
@Niktoś - Nie no stary od razu lepiej, jaśniej i czytelniej smile.gif
piotrooo89
a jak tak z czystej ciekawości, mógłbyś podać jakieś przykładowe zestawy danych jakie wysyłane są POSTem i co Ty tak naprawdę chcesz z nich odczytać, taki jakby algorytm z przykładowym zestawem danych wejściowych i wyjściowych.
Crozin
Cytat
Czy ja pisze po hiszpańsku??Nie zarzucaj bełkotu, tylko powiedz czego nie rozumiesz a wytłumaczę.Takie posty w niczym mi nie pomagają.
Po hiszpańsku to może i nie, ale ze względnie poprawną polszczyzną to to też nie ma wiele wspólnego. Dodaj do tego zwroty techniczne użyte w kompletnie nielogicznym kontekście i co wychodzi? Bełkot. Wybacz, ale to Tobie zależy na rozwiązaniu Twojego problemu, więc pisz zrozumiale i błagam... spację wstawiamy po znaku interpunkcyjnym.

Czego nie rozumiem? Napisałem opis Twojego problemu, Ty potwierdziłeś jego poprawność. Podałem kompletne rozwiązanie, Ty natomiast go nie zaimplementowałeś, nadal próbujesz robić coś na własną rękę co Ci nie wychodzi. Dlaczego nie skorzystasz z podane przeze mnie gotowca?

Cytat
Poza tym, chyba moje rozwiązanie jest lepsze, niż cykliczne generowanie żądań HTTP POST za pomocą ajaxa.
Pomijając fakt, że Twoje rozwiązanie w ogóle nie działa... napisałem dosyć jasno, że AJAX nie jest tu idealnym rozwiązaniem, oraz podałem informację o tym czego użyć by osiągnąć lepsze efekty - patrz końcówka mojego wcześniejszego postu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.