kati: Variable nicht sichtbar

hallo zusammen,

endlich habe ich mein Problem mit dem Aufruf einer javascript-Funktion innerhalb php gelöst... taucht schon ein neues auf. Wie soll ich die Variablen aus einem javascript-Scope in ein anderes - eben, das innerhalb php - übergeben ?! Die Variablen - obwohl sie global sind, sind leer. Also der Wert geht verloren. Die hidden-Elemente helfen mir auch nicht viel, weil ich da mit php einen neuen Inhalt für die Page lade (habe schon ausprobiert).
Zur veranschaulichung:

<script language= "JavaScript" type="text/javascript">

var a = "";
var b = "";

function tue_etwas(a_a, a_b) {
//Code
//Übergabe - zuweisen einer globalen (!) Variable !
a = a_a;
b = a_b;
//code

}
</script>

//html - Formular

<?php
//da prüfe ich beim ersten Laden, damit ich titelseite anzeigen kann
if(!$_GET['content']) {
  include("titel.php");
} else {
//wenn aber die Inhaltseite existiert, will ich sie da haben
if($_GET['content']) {
   if (!is_file($_GET['content'].".php")) {
      echo 'Die Datei existiert noch nicht. Der Inhalt kommt später.';
      echo "<script language="JavaScript">\n";
      echo "tue_etwas(a,b);\n";
      echo "</script>";
   } else {
      if(!include ($_GET['content']. ".php")) {
         echo 'fehler beim Laden des Dokumentes';
      } else {
       echo "<script language="JavaScript">\n";
       echo "tue_etwas(a,b);\n";
       echo "</script>";
     }
   }
 }
}
?>

Das javascript innerhalb php bekommen Leerstrings übergeben... kennt sich da jemand aus ?

cu kati

  1. endlich habe ich mein Problem mit dem Aufruf einer javascript-Funktion innerhalb php gelöst... taucht schon ein neues auf. Wie soll ich die Variablen aus einem javascript-Scope in ein anderes - eben, das innerhalb php - übergeben ?!

    Standardantwort: "PHP und Javascript haben nichts miteinander zu tun. PHP läuft auf dem Server, Javascript einige tausend Kilometer Kabel entfernt im Browser."

    Da PHP zeitlich vor Javascript läuft bzw. genauer gesagt den Javascript-Code selber erstellt, ist es zwar möglich, bei der Erstellung des Codes auch Daten aus PHP einzubauen und somit zu "übergeben", aber andersrum geht das nicht.
    Wenn Dein Javascript-Code läuft, ist das PHP-Skript schon längst beendet. Willst Du Daten von Javascript an PHP übergeben, kannst Du das nur tun, indem Du die betreffende PHP-Seite erneut aufrufst/startest/lädst (über das location-Objekt) und dabei an die Adresse die Daten mit einem Fragezeichen anhängst, ähnlich wie es hier im Forum passiert.
    Diese Daten erscheinen dann anschließend im PHP-Skript innerhalb eines Feldes namens $HTTP_GET_VARS oder in aktuellen PHP-Versionen, $_GET.

    Gruß,
      soenk.e

    1. hallo,

      was für (vor allem) zeitlichen unterschied zwischen 2 vorliegt, ist mir klar. Dennoch wollte ich versuchen, die Variablenübergabe irgendwie zu realisieren.
      Also es geht nur so:
         document.location.href = "index.php?variable=etwas";

      danke
      gruss kati

      endlich habe ich mein Problem mit dem Aufruf einer javascript-Funktion innerhalb php gelöst... taucht schon ein neues auf. Wie soll ich die Variablen aus einem javascript-Scope in ein anderes - eben, das innerhalb php - übergeben ?!

      Standardantwort: "PHP und Javascript haben nichts miteinander zu tun. PHP läuft auf dem Server, Javascript einige tausend Kilometer Kabel entfernt im Browser."

      Da PHP zeitlich vor Javascript läuft bzw. genauer gesagt den Javascript-Code selber erstellt, ist es zwar möglich, bei der Erstellung des Codes auch Daten aus PHP einzubauen und somit zu "übergeben", aber andersrum geht das nicht.
      Wenn Dein Javascript-Code läuft, ist das PHP-Skript schon längst beendet. Willst Du Daten von Javascript an PHP übergeben, kannst Du das nur tun, indem Du die betreffende PHP-Seite erneut aufrufst/startest/lädst (über das location-Objekt) und dabei an die Adresse die Daten mit einem Fragezeichen anhängst, ähnlich wie es hier im Forum passiert.
      Diese Daten erscheinen dann anschließend im PHP-Skript innerhalb eines Feldes namens $HTTP_GET_VARS oder in aktuellen PHP-Versionen, $_GET.

      Gruß,
        soenk.e