Bizonyára sokakban felmerült már az igény, hogy kedves kis blogjában lefuttasson egy-két PHP scriptet. S gondolom, csalódottan tapasztalta, hogy közvetlenül a bejegyzésekbe nem lehet PHP scripteket írni.
Nos, mindenre van megoldás!
Ha azt szeretnénk, hogy a kérdéses PHP programunk csak akkor adjon normális végeredményt, ha a blogspot (Blogger) valamelyik nyelvi mutációjáról hívják meg, akkor a fenti egysoros utasítást bővítsük ki az alábbi módon:
A beillesztést (meghívást) jQuery.ajax()-szal végezzük el!
Például a bejegyzésbe beillesztünk egy div-et, adunk neki egy id-t, s az ajax()-szal meghívott PHP kimenetét beolvastatjuk ebbe a div-be.
Íme egy egyszerű példa:
Ha POST metódussal szeretnéd meghívni a PHP fájlodat, s még adatokat is szeretnél átadni neki, akkor egészítsd ki az ajax() hívást a 'method' és a 'data' beállításokkal. Pl. így:
Nos, mindenre van megoldás!
Először is, mit kell tudni az ilyen célra használt PHP kódokról?
- A PHP kódokat egy máshol tárolt fájlba kell beleírnunk!
A fájlt tegyük egy olyan domain-re, amelyiken a PHP futtatható, és ami elérhető az Internetről! (Nem szükséges biztosítani https elérést.)
- Fontos, hogy az alábbi header() utasítás szerepeljen benne!
header("Access-Control-Allow-Origin: domain-ahonnan-hívom");
Ha azt szeretnénk, hogy a kérdéses PHP programunk csak akkor adjon normális végeredményt, ha a blogspot (Blogger) valamelyik nyelvi mutációjáról hívják meg, akkor a fenti egysoros utasítást bővítsük ki az alábbi módon:
if(preg_match("/\.blogspot\.[^\.]{2,8}$/", $_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: ".$_SERVER['HTTP_ORIGIN']);
}
header("Access-Control-Allow-Origin: ".$_SERVER['HTTP_ORIGIN']);
}
Na, és hogyan illesszük be a PHP kimenetét a Blogger bejegyzésbe?
A beillesztést (meghívást) jQuery.ajax()-szal végezzük el!
Például a bejegyzésbe beillesztünk egy div-et, adunk neki egy id-t, s az ajax()-szal meghívott PHP kimenetét beolvastatjuk ebbe a div-be.
Íme egy egyszerű példa:
<script type="text/javascript">
$.ajax({
url: "http://a-te-domained/a-te-PHP-fájlod.php",
crossDomain: true
}).done(function(data) {
$('#mydiv').html(data);
});
</script>
<div id="mydiv"></div>
$.ajax({
url: "http://a-te-domained/a-te-PHP-fájlod.php",
crossDomain: true
}).done(function(data) {
$('#mydiv').html(data);
});
</script>
<div id="mydiv"></div>
Ha POST metódussal szeretnéd meghívni a PHP fájlodat, s még adatokat is szeretnél átadni neki, akkor egészítsd ki az ajax() hívást a 'method' és a 'data' beállításokkal. Pl. így:
<script type="text/javascript">
$.ajax({
url: "http://a-te-domained/a-te-PHP-fájlod.php",
crossDomain: true,
method: "POST",
data: { param1: "a-param1-értéke", param2: "a-param2-értéke" }
}).done(function(data) {
$('#mydiv').html(data);
});
</script>
$.ajax({
url: "http://a-te-domained/a-te-PHP-fájlod.php",
crossDomain: true,
method: "POST",
data: { param1: "a-param1-értéke", param2: "a-param2-értéke" }
}).done(function(data) {
$('#mydiv').html(data);
});
</script>
És ennyi! Jó programozást! :)
Nincsenek megjegyzések:
Megjegyzés küldése