PHP Variablen in .js Datei ausgeben

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

  • PHP Variablen in .js Datei ausgeben

    Hallo,

    also folgendes Problem:

    In der Datei navi.js müssen die Session-Variablen $sn und $sid innerhalb eines JavaScripts ausgegeben werden.
    In dem PHP File wird die navi.js wie folgt aufgerufen:
    <script language="JavaScript1.2" src="navi.js"></script>

    Wie kann ich jetzt in der navi.js die Session-Variablen mit echo ausgeben? Kann man in *.js Files überhaupt PHP parsen?

    Wenn nicht, hat jemand eine alternative?


    Vielen Dank schon mal!

    Holmes

  • #2
    Entweder sagst du deinem Server, dass er auch .js dateien parst (wie das geht, kannst du suchen)

    oder du benennst die datei .php (js-dateien müssen afaik nicht unbedingt mit .js enden)

    Kommentar


    • #3
      Oder du Übergibst die Werte in JavaScript Variablen die Du vor der Einbindung setzt ... !
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        an goth:

        genau das habe ich auch versucht. ich habe im <head> bereich einfach die beiden variablen in javascript vars gespeichert. soweit hat das auch funktioniert.

        innerhalb der .js-datei waren die vars aber dann nicht definiert, d.h. ich konnte die variablen nur direkt innerhalb der php datei verwenden.

        merkwürdig...

        gibt es in javascript nicht sowas wie 'global var' oder sowas?

        Kommentar


        • #5
          Vielleicht bindest du JS-Script direkt in den HTML-Kopf ein, damit es der PHP-Parser mit erfassen kann.
          Oder du machst es wie goth, dann musst da aber die Variablen mit dem Schluesselwort "var" davor deklarieren, damit sie im gesamten Dokumentbaum verfuegbar werden.

          Kommentar


          • #6
            an maxpayne:

            das problem ist, dass innerhalb der js-datei die gesamte navigation untergebracht ist - die natürlich auch in einer extra-datei bleiben soll, damit ich bei änderungen an der navi nicht jede einzelne php-datei ändern muss.

            die variablen habe ich im head mit var definiert - in der js-datei wurden sie trotzdem nicht erkannt.

            Kommentar


            • #7
              Original geschrieben von sir_holmes
              die variablen habe ich im head mit var definiert - in der js-datei wurden sie trotzdem nicht erkannt.
              werden sie dort vielleicht auch noch mal initialisiert, so dass die vorher vergebenen werte überschrieben werden ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                nein, in der js-datei werden die vars nicht noch einmal definiert.

                es wundert mich auch, dass die vars nicht in der externen datei erkannt werden - ich meine ich hätte das schon einmal so gemacht...

                Kommentar


                • #9
                  dann zeig mal ein online-beispiel ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    head der php-datei:

                    <script language="JavaScript1.2">

                    var sn = "<? echo $sn; ?>";
                    var sid = "<? echo $sid; ?>";

                    </script>



                    relevanter inhalt des bodys:

                    <!-- subnavi -->
                    <ilayer width=154 name="dep1">
                    <layer name="dep2" width=154>
                    </layer>
                    </ilayer>
                    <div id="describe" style="width:154px;position:relative;left:5;top:18;" onMouseover="clear_delayhide()" onMouseout="resetit(event)"></div>
                    <script language="JavaScript1.2" src="navi.js"></script>



                    relevanter inhalt von navi.js:

                    /* navi script */

                    var submenu=new Array()

                    // unternehmen
                    submenu[0]='<table width="150" border="0" cellspacing="0" cellpadding="0"><tr><td height="6"></td></tr><tr><td>&nbsp;<span class="ctxt">Unternehmen</span></td></tr><tr><td>&nbsp;<a href="[COLOR=crimson]company_team.php4?"'+sn+'='+sid+' [/COLOR]class="snavi"> - Das FW-Team </a></td></tr><tr><td>&nbsp;<a href="service_worktech.php4" class="snavi"> - Werkstatt-Technik </a></td></tr><tr><td height="6"></td></tr></table>

                    Kommentar


                    • #11
                      du denkst, du kennst dein Script und daher kannst du den Fehler nicht
                      finden. Es nützt uns nichts, wenn du irgendwelche Codeteile postest,
                      denn du postest ja nur das, was du für fehlerhaft hältst.
                      Möglicherweise liegt der Fehler aber ganz woanders. Also, online Bsp.
                      oder wir passen.

                      Kommentar


                      • #12
                        Hallo holmes,

                        hatte auch mal Schwierigkeiten mit sowas ...

                        Hier ein einfaches Beispiel für dich:
                        PHP-Code:
                        <html>
                        <
                        head>
                        <
                        title>Ausgabe JS-Vars</title>
                        <
                        meta name="author" content="admSchutte">
                        <
                        meta name="generator" content="Ulli Meybohms HTML EDITOR">
                        <
                        script language ="JavaScript1.2">
                            var 
                        test="Hallo Welt";
                        </
                        script>
                        <
                        script language="JavaScript1.2" src="php2js.js"></script>
                        </
                        head>
                        <
                        body>
                        Hier kommt der Text:<br/>
                        <
                        script type="text/javascript">
                        <!--
                            
                        ausgabe();
                        -->
                        </
                        script>
                        </
                        body>
                        </
                        html
                        und die dazugehörige php2js.js-Datei:

                        PHP-Code:
                        function ausgabe() {
                            
                        alert(test);

                        Probier das mal aus - bei mir klappt es mit IE5 (andere Browser nicht getestet).

                        Aber wie bereits von asp2php geschrieben können wir deinen speziellen Fehler so nicht finden ...

                        Kommentar


                        • #13
                          an Patrick_PQ:

                          damit hat es geklappt.... vielen dank!

                          gruß,
                          holmes

                          Kommentar


                          • #14
                            Original geschrieben von sir_holmes
                            an Patrick_PQ:

                            damit hat es geklappt.... vielen dank!

                            gruß,
                            holmes
                            davon sprechen wir doch die ganze Zeit, wie hast du denn eigentlich
                            bisher die Variablen deklariert

                            Kommentar


                            • #15
                              @ sir_holmes: Du musst das js-Script ja nicht expliziet in jedes PHP-Skript eingeben sondern machst aus dem Ding ein Template. Somit hast du den <script>-HTML-Code und alles dazwischen in einer seperaten Datei, die du ueber eine geeignetes Template-System laedst und ausgibst.

                              Kommentar

                              Lädt...
                              X