ugrás a tartalomhoz

Javascript paraméterátadás

pilot · 2012. Aug. 22. (Sze), 07.10
Sziasztok, a következő problémába futottam bele. Van két php programom, az elsőben lévő JS kódból egy paramétert kellene átadni a másikba php-ba. Itt vannak a kódok:

Az 1. php-ban lévő JS-kód:
  1. $(document).ready(function() {  
  2.     $('#rate1').rating('star.php', {maxvalue:5});  
  3.       
  4. });  
A 2. php program részlete, a paraméter fogadása:
  1. $maxvalue = $_POST['maxvalue'];  
Az a gondom, hogy a második php nem fogadja a paramétert. Próbáltam GET-el is, de úgy sem jó. Lehetséges, hogy csak JS-el lehet átvenni a paramétert?

Ehhez kérném a segítségeteket.
 
1

átvenni?

Poetro · 2012. Aug. 22. (Sze), 08.01
A JavaScript kódba beleírhatsz paramétereket, illetve AJAX segítségével újabb adatokat tölthetsz le.
  1. $(document).ready(function() {    
  2.     $('#rate1').rating('star.php', {maxvalue: <?php print intval($_POST['maxvalue']); ?>});     
  3. });  
Vagy ha nem akarsz a fenti fájlba beleírni, akkor létrehozhatsz egy globális változót JavaScript-ben, majd azt használod.
  1. <script>  
  2. maxValue = <?php print intval($_POST['maxvalue']); ?>;  
  3. </script>  
majd:
  1. $(document).ready(function() {    
  2.     $('#rate1').rating('star.php', {maxvalue: maxValue});     
  3. });  
De ha pontosabban megfogalmazod a kérdést, könnyebb lesz válaszolni. Azt mindenképp tartsd szem előtt, hogy a PHP a szerveren fut, a JavaScript pedig ebben az esetben a böngészőben. Azaz amit a webszervered és a PHP már legenerált (azaz amit a böngészőben a forrás megtekintése segítségével látsz).
3

Rating

pilot · 2012. Aug. 22. (Sze), 12.32
Hogy jobb rálátásod legyen a problémára, itt a két teljes kód.


rating.php
  1. <script type="text/javascript" src="elemek/jquery.js"></script>  
  2. <script type="text/javascript" src="elemek/rating.js"></script>  
  3. <link rel="stylesheet" type="text/css" href="elemek/rating.css" />  
  4. <script type="text/javascript">  
  5. $(document).ready(function() {  
  6.     $('#rate1').rating('star.php', {maxvalue:5});  
  7. });  
  8. </script>  
  9. <style type="text/css">  
  10. .implementation{  
  11.     border:dashed 2px #333333;  
  12.     background-color:#CCCCCC;  
  13.     color:#000000;  
  14.     width:50%;  
  15. }  
  16.   
  17. .spacer{  
  18. clear:both;  
  19. height:0px;  
  20. }  
  21. .left{  
  22.     float:left;  
  23.     width:250px;  
  24. }  
  25. </style>  
  26. </head>  
  27. <body>  
  28.   
  29. <div id="rate1" class="rating">&nbsp;</div>  
  30. </body>  
  31. </html>  
star.php
  1. $maxvalue = $_POST['maxvalue'];  
  2.   
  3. $kapcsolat=mysql_connect("localhost","root","kecskesajt")or die (print "HIBA!".mysql_error());    
  4. mysql_select_db("redflight"$kapcsolat);  
  5. mysql_query("SET NAMES UTF8");  
  6.   
  7. $parancs="UPDATE album SET rating='$maxvalue' WHERE (album='$v')";   
  8. mysql_query($parancs);  
Ez egy olyan kód, aminek segítségével csillagok segítségével lehet tetszést nyílvánítani. A rating.php által megjelenített csillagokra kattintva a háttérben meghívja a star.php-t, átadva annak egy 'maxvalue' értéket, majd azt az adatbázisba írja. Az a baj, hogy a maxvalue értéket nem sikerül a star.php-ban megkapnom. Maga a star.php meghívódik, még az sql parancs is lefut, csak éppen a maxvalue értéke nélkül.
Azt kellene megoldani, hogy a rating.php-ben
4

rating.js

Poetro · 2012. Aug. 22. (Sze), 13.16
Már csak azt nem tudjuk, mi az a rating.js, és hogyan működik.
5

Siker!!

pilot · 2012. Aug. 23. (Cs), 07.23
Egy másik fejlesztői fórumon sikerült megtalálni a hibát, mégpedig, hogy a star.php-ban a paramétert nem a megfelelő néven próbáltam fogadni. Persze ez a rating.js-ból derült ki, amit ide nem másoltam be ...

Köszönöm a Te segítségedet is.
2

rating

firith · 2012. Aug. 22. (Sze), 08.53
Ha ugyanarról a jquery pluginról beszélünk,akkor azt nem így kell paraméterezni, nem az első paraméter a feldolgozó file neve, hanem callback függvényt kell írni.

Pl http://www.jquery-plugins.hu/plugin/28-jquery-star-rating-plugin.html