Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript] XMLHttpRequest przekazanie zmiennej do PHP
adi456
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Witam

w ten sposób wczytuje kawałek treści do strony

  1. var object = false;
  2. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  3. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  4.  
  5. function getData()
  6. {
  7. if (object.readyState==4 || object.readyState==0)
  8. {
  9. var obj = document.getElementById('statuspcmarket');
  10. object.open("POST", 'tresc.php');
  11.  
  12. object.onreadystatechange = function()
  13. {
  14. if (object.readyState == 4 && object.status == 200)
  15. obj.innerHTML= object.responseText;
  16. }
  17. object.send(null);
  18. }
  19. }
  20.  
  21. function poka()
  22. {
  23. getData();
  24. setTimeout("poka()", 30000);
  25. }


i wyświetla mi się echo z pliku tresc.php, jak przekazać zmienną PHP z tego pliku np:

  1. echo 'tresc wyswietlana na stronie';
  2. $zmienna='Zmienna do przekazania';


próbowałem wiele sposobów, ale tresc jest wczytywana przez js dlatego nie wiem jak przekazać tą zmienną, nawet jak włącze podgląd kodu zródłowego strony to nie ma tego 'tresc wyswietlana na stronie', pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Google: JSON + AJAX?
Go to the top of the page
+Quote Post
adi456
post
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


kupa czytania i kombinacji, gdyby było mi to niezbędne pewnie zabrał bym sie do studiowania, ale moge to ominąć przepisująć kod php z tego pliku do wyświetlanego pliku, myślałem że jest łatwy sposób na to bo nie chciałem żeby ten sam kod powtarzał sie w 2 plikach, troche głupie no ale łatwe.
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  1.  
  2. $array = array('jestes', 'leniwy', 'i', 'robisz', 'podwojna', 'robote', 'myslac,', 'ze', 'idziesz', 'na', 'latwizne');
  3.  
  4. echo json_encode($array);
Go to the top of the page
+Quote Post
webdice
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(adi456 @ 27.07.2012, 13:34:13 ) *
kupa czytania i kombinacji, gdyby było mi to niezbędne pewnie zabrał bym sie do studiowania, ale moge to ominąć przepisująć kod php z tego pliku do wyświetlanego pliku, myślałem że jest łatwy sposób na to bo nie chciałem żeby ten sam kod powtarzał sie w 2 plikach, troche głupie no ale łatwe.


Dlaczego inni mają poświęcać czas i pieniądze na naukę, a Ty masz dostać to za darmo? Nie chcesz się uczyć, to zleć to komuś.
Go to the top of the page
+Quote Post
adi456
post
Post #6





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


nie chodzi o gotowe rozwiązanie tylko o podpowiedzi, mecze sie z tym json_encode, dużo poczytałem i dalej nie rozumiem jak to zastosować i do czego mi to potrzebne

z wypowiedzi "CuteOne" wnioskuje że to:
  1. $array = array('jestes', 'leniwy', 'i', 'robisz', 'podwojna', 'robote', 'myslac,', 'ze', 'idziesz', 'na', 'latwizne');
  2. echo json_encode($array);


mam wkleić do pliku tresc.php, no więc tak robie i nie rozumiem jak mi to ma pomóc, przecież tablica się wyświetli a ja chce złapać zmienną $zmienna do PHP

próbowałem przesłać przez formularz zmienną, ale nie chce sie wczytywać
  1. document.test.inputzezmienna.value = '<?echo $zmienna;?>';



Ten post edytował adi456 27.07.2012, 13:32:02
Go to the top of the page
+Quote Post
webdice
post
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Czego nie rozumiesz? Jak stworzyć z tekstu/zmiennej obiekt JSON i jak go odczytać w JavaScript?
Go to the top of the page
+Quote Post
adi456
post
Post #8





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


dokładnie próbowałem na wszystkie sposoby i nie wiem co i jak
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://pl.lmgtfy.com/?q=javascript+json+ajax
Go to the top of the page
+Quote Post
adi456
post
Post #10





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


może podpowiesz gdzie dokładnie szukać, przepatrzyłem wszystkie linki z 1 strony...
czy da sie wodule odczytać zmienną do php ze strony która generuje się po stronie przeglądarki?

no bo niby tresc.php to php ale wczytywane przez js poprzez XMLHttpRequest, nie widze tu żadnej logiki.

może ten json_encode to poprostu jakaś odmiana include w php? includując ten plik wyświetli mi się to co jest w echo, no ale zdobede zmienną, ale dobra myśl pokombinuje z warunkiem przy echo i będe includować ten plik, js i tym podobne nie są dla mnie, używam z konieczności. wole PHP!
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Na pierwszej stronie masz przykład jak byk.... :C
Go to the top of the page
+Quote Post
CuteOne
post
Post #12





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


wolisz PHP a nie znasz podstaw...

  1. $array = array($zmienna, 'inny tekst');
  2.  
  3. echo json_encode($array);


po stronie przeglądarki zamiast bawić się XMLHttpRequest pobierz jQuery i użyj jquery.ajax()

Ten post edytował CuteOne 27.07.2012, 14:14:46
Go to the top of the page
+Quote Post
viking
post
Post #13





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Od razu zawsze jquery. Nie każdy potrzebuje: https://github.com/ded/reqwest
Go to the top of the page
+Quote Post
adi456
post
Post #14





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


tak kombinuje:

  1. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  2. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  3.  
  4. function getData()
  5. {
  6. if (object.readyState==4 || object.readyState==0)
  7. {
  8. var obj = document.getElementById('statuspcmarket');
  9. object.open("POST", 'tresc.php');
  10.  
  11. object.onreadystatechange = function()
  12. {
  13. if (object.readyState == 4 && object.status == 200)
  14. obj.innerHTML= object.responseText;
  15. var jsondata=eval(object.responseText) //retrieve result as an JavaScript object
  16. document.test.inputzezmienna.value =jsondata;
  17. }
  18. object.send(null);
  19. }
  20. }


i wyświetla mi się undefined, jak teraz wyodrębnić zmienną? bierze ktoś pod uwage że zmienną nie chce wyświetlić tylko wykorzystać w dalszej części programu?

Ten post edytował adi456 27.07.2012, 14:29:24
Go to the top of the page
+Quote Post
radziopoke
post
Post #15





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


Cytat(adi456 @ 27.07.2012, 15:25:13 ) *
bierze ktoś pod uwage że zmienną nie chce wyświetlić tylko wykorzystać w dalszej części programu?

Tak wszyscy biorą to pod uwagę bo inaczej nie powiedzieli by ci że masz korzystać z JSON. A jeżeli wyświetla ci się undefined sprawdź czy na pewno w php zmienną przekształciłeś na tablicę, zakodowałeś i wyświetliłeś za pomocą echo (Nie to nie wyświetli ci tekstu tylko przekaże ciąg z JSON). Następnie musisz po prostu odczytać odpowiednie dane i je odpowiednio wykorzystać w swoim kodzie. Ale jakbyś korzystał z jquery (też kiedyś byłem negatywnie nastawiony to tego typu rozwiązań) to na pewno o wiele szybciej byś rozwiązał swój problem
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 14:26