Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Loslegen und Spaces testen ↬ Jetzt testen!
Gastautor 8. September 2003

Javascript und PHP: Ungleiche Gesellen

Kein Beitragsbild

Die beliebten Scriptsprachen PHP und Javascript werden nicht selten zusammen auf einer Seite benutzt. Wie passen die ungleichen Gesellen zusammen und wie können Daten untereinander ausgetauscht werden?

Wix Webseiten — echt superpraktisch. ↬ Mehr erfahren

Der wichtigste Unterschied liegt auf der Hand. Javascript wird auf dem Computer des Benutzers, durch den Browser ausgeführt, PHP dagegen auf dem Webserver. PHP wurde immer bereits ausgeführt, wenn Javascript erst mit der Arbeit beginnt. Da helfen nur Tricks, um Variablen austauschen zu können.

Anzeige

So werden PHP-Werte an Javascript übergeben:

 <script language="javascript">
var name = "<?php echo $username; ?>";
var email = "<?php echo $email; ?>";
      alert("Name: " + name + 
", Email: " + email);
</script>

Die Javascript-Variablen werden definiert. Bevor die Datei vom Webserver an den Browser gesendet wird, schreibt PHP die Werte seiner Variablen in den Quellcode. Jetzt kann das Javascript-Programm damit arbeiten, und gibt sie per alert() aus.

Umgekehrt ist es schwieriger: Die Javascript Werte können nur an eine neue Datei weitergegeben werden. Dieses Beispiel übergibt den Namen und die Email-Adresse an ein PHP-Skript, welches dann aus beiden einen Link generiert:

      <HTML>
<script language="javascript">
var name = "Michi";
var email = "michi@webmail.de";
document.write('<a href="2.php?name=' + name + '&email=' + email + '">weiter...</a>');
</script>
</HTML>

Das Javascript schreibt mit document.write() einen Link und setzt die vorher definierten Variablen ein:

Das PHP-Script liest die über die URL gelieferten Variablen wieder aus und baut damit einen Email-Verweis.

      <?php
$name = $_GET["name"];
$email = $_GET["email"];
echo "<a href=\"mailto:$email\">$name</a>";
?>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.