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:

$(document).ready(function() {
	$('#rate1').rating('star.php', {maxvalue:5});
	
});
A 2. php program részlete, a paraméter fogadása:

$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.
$(document).ready(function() {  
    $('#rate1').rating('star.php', {maxvalue: <?php print intval($_POST['maxvalue']); ?>});   
});
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.
<script>
maxValue = <?php print intval($_POST['maxvalue']); ?>;
</script>
majd:
$(document).ready(function() {  
    $('#rate1').rating('star.php', {maxvalue: maxValue});   
});
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


<script type="text/javascript" src="elemek/jquery.js"></script>
<script type="text/javascript" src="elemek/rating.js"></script>
<link rel="stylesheet" type="text/css" href="elemek/rating.css" />
<script type="text/javascript">
$(document).ready(function() {
	$('#rate1').rating('star.php', {maxvalue:5});
});
</script>
<style type="text/css">
.implementation{
	border:dashed 2px #333333;
	background-color:#CCCCCC;
	color:#000000;
	width:50%;
}

.spacer{
clear:both;
height:0px;
}
.left{
	float:left;
	width:250px;
}
</style>
</head>
<body>

<div id="rate1" class="rating">&nbsp;</div>
</body>
</html>

star.php

$maxvalue = $_POST['maxvalue'];

$kapcsolat=mysql_connect("localhost","root","kecskesajt")or die (print "HIBA!".mysql_error());  
mysql_select_db("redflight", $kapcsolat);
mysql_query("SET NAMES UTF8");

$parancs="UPDATE album SET rating='$maxvalue' WHERE (album='$v')"; 
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