Variable PHP -> Java Script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable PHP -> Java Script

    Hallo,
    in Anlehnung an das PHP-Buch v. Joerg Krause habe ich das folgendermassen gelöst:
    <?php $phpVar = "Irgendwas"; ?>
    <script ........
    var JavaVar = "<?php echo $phpVar; ?>;
    .....>
    Leider funktioniert das nicht. Ich habe schon alle denkbaren Kombinationen durchprobiert. Wenn ich 'JavaVar' anzeige z.B. mit alert kommt der Text der oben in Anführungszeichen steht, was auch irgendwie logisch erscheint. Weiss jemand Rat. Danke im Voraus.
    Gruss Walter

  • #2
    Also soviel ich weiss läuft es so. Server verarbeitet php - browser nachher das html/java also musst du es so lösen

    Also gib das <script langugage="javascript"> </script> mit echo aus und setzt die variablen rein
    also:
    echo "<script langugage="javascript">";
    echo " "; /* Hier den Javacode einfügen (kenn mich damit nicht aus) und dann kannste auch php Variablen ausgeben
    echo "</script>";

    hoffe das geht so


    [Editiert von Elthin am 21-05-2001 um 19:16]

    Kommentar


    • #3
      Hallo Elthin,
      danke für die schnelle Antwort, aber die Reihenfolge habe ich schon eingehalten. Ich will nichts ausgeben, 'alert' war nur zum Testen. Das Problem ist so, ich habe in PHP eine Variable, die einen bestimmten Wert hat. Ich möchte nun den Wert der Variablen an Java übergeben, damit das Script in Abhängigkeit vom Variablenwert verschiedene Funktionen ausführt. Das was ich machen will, geht nur mit Javascript, bzw. ich habe in PHP noch nichts entsprechendes gefunden. Ausserdem denke ich, ist das ein grundsätzliches Thema. Man hat nun mal bei der Webprogrammierung verschiedene Möglichkeiten, Java, Javascript, Perl, PHP etc. (die Stärken sind immer anderst gelagert) und die Wertübergabe v. Variablen ist doch sehr wichtig.
      Gruss Walter

      Kommentar


      • #4
        hmm ansonsten versuch mal das.

        ...
        var JavaVar = "<?php echo "$phpVar"; ?>";
        ...
        ich habe zu deinem orginal var JavaVar = "<?php echo $phpVar; ?>; nur noch die anführungszeichen beigefügt
        Na ja is mir halt so eingefallen. weiss nicht ob du das berücksichtigt hast. weil teoretisch müsste es ja funzen, da java client seitig ist und php serverseitig

        Kommentar


        • #5
          Nur mal so ne Frage ...

          Versuchst du mit JavaScript eine php-Funktion aufzurufen?
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Hallo zusammen,
            also grundsätzlich ich habe eine gewisse Ordnung auf meinen PC's, die ich auch beibehalten möchte. Da mir die Struktur meines zukünftigen Servers noch nicht ganz klar ist, schreibe ich die verschiedenen directories in Variable in ein PHP-Script das ich dann in jedes Arbeitsscript einbinde. Wenn ich später die Verzeichnis-Struktur ändere muss ich nur in dem PHP-Script die Dir-Variablen ändern und die Aufrufe einer HTML-Seite oder eines PHP-Scripts klappt immer. Meine HTML-Seite ist in drei Frames aufgeteilt. Im oberen Frame befinden sich die Kategorien im linken Frame die Bearbeitungsmöglichkeiten der Kategorie, im rechten Frame die Anzeige. Wenn ich also eine Kategorie anklicke muss das linke u. das rechte Frame aufgerufen werden, dies kann dann sowohl ein Script oder eine HTML Seite sein, die dann eben noch um die Dir-Variablen ergänzt werden müssen. Für das Ändern v. 2 Frames mit einem Link habe ich bis jetzt nur eine Lösung in Javascript gefunden (s. SelfHTML). Also muss ich Java die Dir-Variablen mitteilen. Zu Elthin, deine Vorschlag habe ich natürlich schon probiert geht auch nicht, ausserdem müsste er v. Syntax so lauten:
            var Javavar = "<?php echo '$XYZ'; ?>";
            Wie schon gesagt die Übergabe v. Variablen ist aber ein grundsätzliche Sache, auch wenn sich meine Aufgabe auf eine andere Weise lösen lässt.
            Gruss Walter

            Kommentar


            • #7
              kann es sein, daß dein Skript nicht geparst wird? Vielleicht hast du die Endung .html und der Server ist nicht angewiesen, dies mit PHP zu parsen. Würde zumindest erklären, warum beim alert von JavaScript der Quellcode des PHP-Skriptes kommt.

              Kommentar


              • #8
                oder probier doch mal einen timeout für die js-routine zu setzen, das heisst, wenn die html-& java zeilen abgearbeitet wurden und es an das php-parsing geht ...

                <script>

                function init() {
                setTimeout("this",10);
                }
                function this() {
                ...
                }

                </script>

                und die init()-funktion rufst du evtl beim "onLoad" im body-tag auf ...

                gruss
                -martin

                Kommentar


                • #9
                  hä? PHP wird IMMER vor allem anderen abgehandelt. Da gibt es kein JavaScript, das vorher einen Timeout setzen kann.

                  Kommentar


                  • #10
                    sorry, klar, php wird natürlich vor den anderen skripten abgearbeitet!

                    dies ist auch die einzigste möglichkeit die mir eingefallen ist, ausser eben, das in einem .html - file mit php gecoded wird -> und da wird nun mal nicht geparsed, ausser der server wurde so eingerichtet, deshalb die sache mit dem timeout.

                    (hatte so was ähnliches, wollte den referrer wegschreiben!)

                    Kommentar


                    • #11
                      Hallo zusammen,
                      ist eigentlich grundsätzlich der Syntax richtig. Weil wenn ich schreibe
                      var javavar = "<?php echo $xyz; ?>";
                      dann weise ich ja javavar einen String zu u. in dem String kann ja stehen was will. Stellt Euch vor, ich möchte exact den o.g. String ausgeben, dann wäre ja die Zuordnung die gleiche. BrainBug das Script wird geparst, ich stelle es noch mal vereinfacht dar egal was ich jetzt einbinde oder sonst was:

                      <?php
                      $xyz = "Hallo Welt";
                      ?>

                      <script language="JavaScript">
                      var javavar = "<?php echo $xyz; ?>";
                      </script>

                      Ich möchte nun, das in javavar -> Hallo Welt <- steht, es steht aber in javavar -> <?php echo $xyz; ?> <-.
                      Wenn noch Interese besteht können wir am kommenden Montag fortfahren, da ich bis dahin Urlaub habe. Ich wünsche allen schöne Feiertage.
                      Gruss Walter

                      Kommentar


                      • #12
                        also, die Syntax ansich ist richtig. Völlig egal ob du <? echo $xyz; ?>, <? echo "$xyz"; ?> oder <? echo '$xyz'; ?> schreibst.
                        Ich tendiere trotzdem noch dazu, daß dein File nicht geparst wird, sonst würde an der Stelle kein PHP-Code auftauchen. Plaziere doch mal am Anfang der Seite gleich ein <? phpinfo(); ?> -> falls du dann nicht eine ellenlange Liste mit Konfigurationsdaten etc. von PHP erhälst, wird deine Seite vorher NICHT geparst. Ansonsten müssen wir mal weitersuchen... nach dem Fehler meine ich.

                        Okay, bis dann

                        Kommentar


                        • #13
                          versuchs trozdem mal mit anführungszeichen.
                          Also
                          <?php echo "$xyz"; ?>

                          Kommentar


                          • #14
                            Hallo zusammen,
                            entschuldigt, dass ich Euch so viel Arbeit gemacht habe, die Lösung ist eigentlich simpel. Die Datei in dem alles läuft war eine html-Datei. Das ganze einfach als php-Datei und die Sache funktioniert. Den entscheidenden Hinweis bekam ich v. Stefan per E-Mail aber BrainBug hatte v. Prinzip auch recht. Typischer Anfängerfehler! Wenn Interesse besteht kann ich die entscheidenden Codefragmente (How To Do) gerne ins Forum stellen. Danke!
                            Gruss Walter

                            Kommentar

                            Lädt...
                            X