Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP] problem z przekazaniem zmiennej, zmienna GET
maxis88
post 7.10.2012, 15:11:13
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 17.09.2007

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


Witam. Mam mały problem z przekazaniem zmiennej GET w ajaxie... robiłem podobne skrypty które działały więc nie wiem czemu nie chce ten ...

w skrócie wygląda to tak :
po naciśnięciu ma użyć funkcji ajaxa...
  1. echo"<potion id='pot' onClick='uzyj_potion(\"hp5\")'><img src='grafika/hp.png'> x $dane[ilosc]</potion><br>";


ajax:
function uzyj_potion(rodzaj){

var dest=document.getElementById('pot');
var url="funkcje_pomocnicze.php?potion="+rodzaj;
var zdarzenie= new ajax;

zdarzenie.open("GET", url);
zdarzenie.onreadystatechange=function(){
if(zdarzenie.status==200 && zdarzenie.readyState==4){
dest.innerHTML=zdarzenie.responseText;
}
}
zdarzenie.send(null);
}


funkcja ajax jest napisana wcześniej i z pewnością działa ( rozpoznaje rodzaj przeglądarki )

następnie plik ( część która daje jakiś wynik ) z którym łączy się skrypt ajaxa:

  1. if($_GET['potion']!=""){
  2.  
  3. uzyj_potion($_GET['potion']);
  4. open_db();
  5. $nick=$_SESSION['nick'];
  6. $zaznacz=mysql_query("SELECT ilosc FROM items WHERE nazwa='HP+ 5' AND wlasciciel='$nick'");
  7. $dane=mysql_fetch_assoc($zaznacz);
  8. echo"<potion onClick=\"uzyj_potion('hp5')\" id='pot'>$dane[ilosc] x <img src=\"grafika/hp.png\" /></potion><br />";
  9.  
  10. }


wszystko by było fajnie gdyby w pliku funkcje_pomocnicze.php ( ten ostatni ) wykrywało mi $_GET['potion']

sprawdzając funkcję z ajaxem adres jest konstruowany prawidlowo i zmienna na koncu adresu ma postac "potion=hp5" wiec w teorii powinno byc ok ...
męczę się już z szukaniem w czym jest błąd kolejny dzień i nadal nie wiem co robię nie tak bo jak wspomniałem wczesniej właściwie kopiowałem inne funkcje ktore dzialaly a tu nie chce dzialac sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
BaN
post 7.10.2012, 15:58:54
Post #2





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

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


Pierwszy raz widzę znacznik <potion>. Piszesz w HTML? Włącz firebuga lub inne podobne narzędzie i zobacz jakie dane są przekazywane
Go to the top of the page
+Quote Post
bostaf
post 7.10.2012, 16:02:46
Post #3





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


W JS masz
[JAVASCRIPT] pobierz, plaintext
  1. dest.innerHTML=zdarzenie.responseText;
[JAVASCRIPT] pobierz, plaintext

Czyli wewnątrz klikniętego znacznika będzie wstawiony, odpowiedź od wywoływanego skryptu PHP (funkcje_pomocnicze.php?potion="+rodzaj), a ta odpowiedź to:
  1. echo"<potion onClick=\"uzyj_potion('hp5')\" id='pot'>$dane[ilosc] x <img src=\"grafika/hp.png\" /></potion><br />";

Nie dubluje Ci się przypadkiem obrazek hp.png? Czy w jaki sposób błąd się objawia?
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 18:38:49
Post #4





Goście







potion to sztuczny znacznik ale nie ma to w tym przypadku znaczenia bo nawet jak dam <div> to problem wyglada tak samo ... a mianowicie jak klikne to obrazek znika i sie nie pojawia... jak dodam alerty w poszczegolnych miejscach kodu to jedynie alert w "funkcje_pomocnicze.php" sie nie pojawia jak znajduje sie w funkcji if... co znaczy ze nie ma zmiennej get...

obrazek nie powinien sie dublowac bo wstawiajac w
  1. dest.innerHTML
wartosc odpowiedzi ajaxa, stara zawartosc znacznika "potion" powinna byc zastąpiona nową prawda ?
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 18:55:31
Post #5





Goście







firebug pokazuje że zmienna get jest przekazywana i ma postać potion=hp5 czyli tak jak byc powinno... dlaczego wiec w skrypcie jej nie wykrywa ?
Go to the top of the page
+Quote Post
bostaf
post 7.10.2012, 19:27:51
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(Gość @ 7.10.2012, 19:38:49 ) *
stara zawartosc znacznika "potion" powinna byc zastąpiona nową prawda ?

Tak. A że nowa zawartość, którą wyświetla funkcje_pomocnicze.php to
  1. <potion onClick=\"uzyj_potion('hp5')\" id='pot'>$dane[ilosc] x <img src=\"grafika/hp.png\" /></potion><br />
to efektem końcowym będzie:
  1. <potion id='pot' onClick='uzyj_potion(\"hp5\")'><potion onClick=\"uzyj_potion('hp5')\" id='pot'>$dane[ilosc] x <img src=\"grafika/hp.png\" /></potion><br /></potion><br>


Cytat(Gość @ 7.10.2012, 19:55:31 ) *
firebug pokazuje że zmienna get jest przekazywana i ma postać potion=hp5 czyli tak jak byc powinno... dlaczego wiec w skrypcie jej nie wykrywa ?

Co pokazuje firebug w Sieć > Wszystko > Odpowiedź?

Ten post edytował bostaf 7.10.2012, 19:28:28
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 19:33:18
Post #7





Goście







Parametry: potion hp5
Odpowiedz:
  1.  
  2. <body><script type="text/javascript" src="http://a.cba.pl/r1.js"></script>
  3.  
  4. <script type="text/javascript">
  5.  
  6. alert("jestem");
  7.  
  8. </script><!--]>--><div style="text-align:center;font-size:11px" class="cbalink"><a href="http://www.cba.pl/" title="darmowy hosting">Darmowy Hosting</a> CBA.PL<br/><br/></div>
  9. <script type="text/javascript" src="http://a.cba.pl/r2.js"></script>
  10. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
  11. <script type="text/javascript">
  12. _uacct = "UA-2289508-3";
  13. urchinTracker();
  14. </script>
  15. <script type="text/javascript">
  16. var pp_gemius_identifier ='p9.lpfe6LVht.FvD5q6cb8Pc7Mq_YOxZNwdcvPdYR1n.u7';
  17. </script>
  18. <script type="text/javascript" src="http://arbo.hit.gemius.pl/xgemius.js"></script>
  19. <script type='text/javascript' src='http://go.arbopl.bbelements.com/bb/bb_one2n.js'></script>
  20. <script type='text/javascript'>/* <![CDATA[ */
  21. if (ok) bmone2n.addPosition('1585.4.1.30','');
  22. if (ok) bmone2n.getAd('go.arbopl.bbelements.com','',''+(typeof(bburlparam)=='string'?'&'+bburlparam:''));
  23. /* ]]> */</script><div id='bmone2t-1585.4.1.30' style='display:none'><script type='text/javascript'>/* <![CDATA[ */ if (ok) bmone2n.makeAd('1585.4.1.30'); /* ]]> */</script><!--]>--><noscript></noscript></div>
  24. <script type='text/javascript'>/* <![CDATA[ */ if (ok) bmone2n.moveAd(); /* ]]> */</script>

wiekszosc z tego to syf jaki narzuca mi darmowy serwer...

HTML: napis : Darmowy hosting CBA.pl
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 19:43:48
Post #8





Goście







skoro zmienna w tablicy get jest przekazywana to dlaczego jak chce ją wyswietlic to pokazuje mi pustke ? nic z tego nie rozumiem ;/
Go to the top of the page
+Quote Post
bostaf
post 7.10.2012, 19:46:14
Post #9





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Nie o to mi chodziło, po uruchomieniu ajaxu, w firebugu w zakładce Sieć > Wszystko, pojawi sie nowy wiersz, który u Ciebie powinien wyglądać tak:
+GET funkcje_pomocnicze.php?potion=hp5
Jak klikniesz ten napis to rozwinie się okienko z kilkoma zakładkami, m.in. Odpowiedź. To pokazuje output wygenerowany z wywoływanego AJAXem skryptu. Sprawdź jeszcze raz i wklej tu.
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 20:00:06
Post #10





Goście







zrobiłem jak napisałeś i otrzymałem ten sam wynik :
  1. <body><script type="text/javascript" src="http://a.cba.pl/r1.js"></script>
  2. <!--]>--><div style="text-align:center;font-size:11px" class="cbalink"><a href="http://www.cba.pl/" title="darmowy hosting">Darmowy Hosting</a> CBA.PL<br/><br/></div>
  3. <script type="text/javascript" src="http://a.cba.pl/r2.js"></script>
  4. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
  5. <script type="text/javascript">
  6. _uacct = "UA-2289508-3";
  7. urchinTracker();
  8. </script>
  9. <script type="text/javascript">
  10. var pp_gemius_identifier ='p9.lpfe6LVht.FvD5q6cb8Pc7Mq_YOxZNwdcvPdYR1n.u7';
  11. </script>
  12. <script type="text/javascript" src="http://arbo.hit.gemius.pl/xgemius.js"></script>
  13. <script type='text/javascript' src='http://go.arbopl.bbelements.com/bb/bb_one2n.js'></script>
  14. <script type='text/javascript'>/* <![CDATA[ */
  15. if (ok) bmone2n.addPosition('1585.4.1.30','');
  16. if (ok) bmone2n.getAd('go.arbopl.bbelements.com','',''+(typeof(bburlparam)=='string'?'&'+bburlparam:''));
  17. /* ]]> */</script><div id='bmone2t-1585.4.1.30' style='display:none'><script type='text/javascript'>/* <![CDATA[ */ if (ok) bmone2n.makeAd('1585.4.1.30'); /* ]]> */</script><!--]>--><noscript></noscript></div>
  18. <script type='text/javascript'>/* <![CDATA[ */ if (ok) bmone2n.moveAd(); /* ]]> */</script>
Go to the top of the page
+Quote Post
bostaf
post 7.10.2012, 21:18:42
Post #11





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Doczytałem, że to wina hostingu - do skryptów "doklejane" są reklamy, stąd ten szalony output.
W tym poście: http://c0.pl/forum/viewtopic.php?f=15&p=125764 ktoś opisał podobny problem. Admin zaproponował mu wymuszenie zawartości przez ustawienie "content-type". Czyli na początku skryptu funkcje_pomocnicze.php dodaj
  1. header("Content-Type: text/plain");
Go to the top of the page
+Quote Post
-Gość-
post 7.10.2012, 21:56:49
Post #12





Goście







niestety nadal nie pomaga ... no nic ... zostawie to na pozniej ... poducze sie lepiej ajaxa i js i moze pozniej sam dojde do tego co jest powodem ... w kazdym razie dzieki za chec pomocy
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:03