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.


















































