Javasript per PHP includen

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

  • Javasript per PHP includen

    Hallo ich mal wieder!

    Ich habe wie einige wissen mit Hilfe einiger Forenuser hier meine Webseite in 2 Sprachen laufen. Ich habe aber zur Navigation eine Javasriptleiste am laufen, in deer ich ja bekanntlich net die Varaiblen per php abrufen kann.

    jetzt lese ich (zumindestens versuche ich es) einfach über php eine sessionvariable aus und je nach wert möchte ich eine navigation_ '.' .js includen. error_reporting läuft ich bekomme aber keine warnung und keine fehler aber trotzdem wird die navigationsleiste net eingebunden.

    so sieht das ganze aus:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    if ( !isset(
    $_SESSION['lang_session']) )
        {
        
    $_SESSION['lang_session'] = "de";
        
    $absolute_include="script/navigation_de.js";
        
    $folder_depth substr_count($_SERVER["PHP_SELF"] , "/");
        if(
    $folder_depth == false$folder_depth 1;
        @include(
    str_repeat("../"$folder_depth 1) . $absolute_include);
        }
    else if( isset(
    $_SESSION['lang_session']) )
        {
        
    $absolute_include="script/navigation".$_SESSION['lang_session'].".js";
        
    $folder_depth substr_count($_SERVER["PHP_SELF"] , "/");
        if(
    $folder_depth == false$folder_depth 1;
        @include(
    str_repeat("../"$folder_depth 1) . $absolute_include);
        }
    else
        {
        
    $_SESSION['lang_session'] = "de";
        include(
    "script/navigation_de.js");
        }
    ?>
    vorher habe ich diese Navigation so eingebunden:
    PHP-Code:
    <script type="text/javascript" language="JavaScript1.2" src="script/navigation.js"></script
    hat jemand einen guten tip für mich? habe schon sehr lange daran herum gebatselt bin aber noch net zu dem gewünschten erfolg gekommen.

  • #2
    nimm die "@" raus.

    wird der js-code denn im quellcode des generierten html dokuments angezeigt?

    Kommentar


    • #3
      nein der quelltext liegt in einer externen datei (navigation_de.js, auf root im ordner script)

      liegt es vielleicht daran ist der type net angegeben wird? sonst steht ja type text/javasript usw.

      ich nehme die @'s mal raus.



      Edit: hatte noch ein kleinen fehler hatte den "_" vergessen! jetzt wird die datei "includet" aber der quellcoder der .js datei wird jetzt angezeigt anstatt ausgeführt. also ich sehe oben den quellcode!
      Zuletzt geändert von noob_in_php; 16.05.2007, 00:55.

      Kommentar


      • #4
        Ich weiß nicht, ob es die sinnvollste / einfachste / ka Lösung ist, würde es jedoch dann eher so machen:

        PHP-Code:
        echo '<script type="text/javascript" language="JavaScript1.2" src="script/navigation.js"></script>'
        Dann müsste es vom Browser geparst und eingebunden werden.

        mfg

        Kommentar


        • #5
          include ist hier fehl am platz, denn die js-datei wird in die php-datei "hineinkopiert".
          du brauchst wohl soetwas wie readfile()...

          aber warum nicht so, wie Blackgreetz es vorschlägt?

          Kommentar


          • #6
            hab es jetzt so gemacht:
            PHP-Code:
            <?php
            error_reporting
            (E_ALL);

            if ( !isset(
            $_SESSION['lang_session']) )
                {
                
            $_SESSION['lang_session'] = "de";
                echo 
            '<script type="text/javascript" language="JavaScript1.2" src="script/navigation_de.js"></script>';
                }
            else
                {
                
            $_SESSION['lang_session'] = "en";
                echo 
            '<script type="text/javascript" language="JavaScript1.2" src="script/navigation_en.js"></script>';
                }
            ?>
            wird aber nichts dargestellt.

            Kommentar


            • #7
              welche ausgabe geht an den browser?

              Kommentar


              • #8
                leider gar nichts. es wird nichts angezeigt und es kommen auch keine warnungen.

                Kommentar


                • #9
                  mach testausgaben.
                  in welchen if-block gelangst du? ich tippe auf den ersten, weil die session nicht gestartet wurde.

                  Kommentar


                  • #10
                    habe jetzt folgendes probiert:
                    PHP-Code:
                    <?php
                    error_reporting
                    (E_ALL);

                    if  (
                    $_SESSION['lang_session'] = "de")
                        {
                        echo 
                    '<script type="text/javascript" language="JavaScript1.2" src="script/navigation.js"></script>';
                        }
                    else
                        {
                        echo 
                    '<script type="text/javascript" language="JavaScript1.2" src="script/navigation_en.js"></script>';
                        }
                    ?>
                    das problem ist nur das jetzt der sprachwechsel net mehr funkt. ist irgendwie komisch! der scheint irgendwas aus der session zu verlieren.

                    Kommentar


                    • #11
                      Original geschrieben von penizillin
                      ich tippe auf den ersten, weil die session nicht gestartet wurde.
                      --> Hast du irgendwo überhaupt session_start(); ?

                      mfg

                      Kommentar


                      • #12
                        Vergleiche macht man mit ==. Was du machst, ist eine Zuweisung - sowas klappt immer, ist also immer true und deswegen klappt der Sprachwechsel nicht mehr.

                        Zeit fürs Bett!?

                        Kommentar


                        • #13
                          @onemorenerd

                          danke deine idee funzt jetzt! es klappt jetzt wunderbar!

                          an die anderen auch vielen vielen dank!

                          Kommentar


                          • #14
                            Original geschrieben von onemorenerd
                            ... eine Zuweisung - sowas klappt immer, ist also immer true ...
                            nicht ganz. eine zuweisung hat immer den wert der rechten seite. kann also i.a. auch andere werte haben.

                            Kommentar

                            Lädt...
                            X