Tag Archives: PHP

PHP og JavaScript

A student wrote to me and asked how he could make JavaScript and PHP work together. I understand the confusion: you know PHP, you know JavaScript – but how to call functions and pass variables between the two ? These languages each represent their own application layers, and it can take a while before you fully understand the implications of that. Even if you have the theoretical knowledge that one is client side and the other is servers side. He’d almost decided not to use JavaScript due to this problem. Here is my reply (sorry non Danes).

Man kan godt klare sig uden javaScript, men det er heller ikke noget problem at få PHP til spille sammen med JavaScript og fx. levere dynamisk data til et script. Med javascript slipper brugeren for at vente på at der bliver sendt en besked til serveren, kommer et svar retur, og browseren reloader svaret – hvergang noget skal beregnes.

PHP er serverside og fortolkes før det når browseren. Har man fx et echo statement i sin php vil det
resultere i et bid HTML som browseren viser. JavaScript fortolkes af browserens javascript fortolker som en del af HTML dokumentet, og dynamiske værdier (fx. en tekststreng) kan sagtens være blevet defineret i PHP. Her bruges echo:

 <?php echo $variable ?> 

Javascriptet læses i sin natur altid efter at php scriptet er blevet lavet om til noget browseren forstår, og ovenstående vil være blevet ‘lavet om’ til værdien af

$variable

alene.
Der er flere måder at gøre det på, men her er et eksempel hvor en javascript variabel defineres ved hjælp af en stump php. Efter php tagget, fortsætter javascriptet med en alert kommando til at vise variablens værdi:

<script type="text/javascript">
var variable="";
alert(variable);
</script>
 

Eller du kan kalde en funktion der ligger i en hel anden php section:

<script type="text/javascript">
  var variable="";  alert(variable);
</script>
 

 

 <?php
function getVariable(){
return "min-text";
 }?>
 

Hvis du har en række php funktioner der henter dataset i forskellige afskygninger fra din mySQL database og returnerer resultatet (som pseudo funktionen i getVariable funktionen ovenfor), kan du i JavaScriptet placere php stumper der kalder disse funktioner og echo’er dem de steder hvor javascriptet skal bruge data fra databasen.

PressConnect demo

I played around with Tim Wilson’s Press Connect php package. The PHP is open source, but the Flash template is not, so you either buy it, or you figure out how to communicate with the PHP. I did the figuring out.

PressConnect manages the connection to your wordpress database, completely without calling any of the native WordPress functionality. It doesn’t deal with the wordpress framework at all.
In essence it’s a bunch of SQL queries you call from Flash by sending XML formated requests to the xmlListener.php in the package.

To send and receive the requests and responses, you will be using URLRequest and URLRequestMethod.POST of the ActionScript 3 library.

As my wordpress database has some Danish characters hidden around the place, I had to add some utf8 encoding to prevent the php functions from failing.

It’s still early days for my Flash-front-end-for-wp project, but I have complete access to my wp content (almost) in Flash. Now I need to add some creation code that generates the menu from the XML:

http://www.njanga.com/ITU/blog/wp-content/uploads/swf/pressconnectDemo/pcdemo.swf
Picture 4

Flash source code will be posted on request.