Webseite 2-Sprachig

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

  • #16
    Weil ich noch ein Anfänger bin vielleicht. Hab ich doch erwähnt! für euch mag das hier alles selbstverständlich sein, für mich nicht. erkenne aber gerade selbst den fehler und werds nochmal probieren.

    Kommentar


    • #17
      Habe den link jetzt geändert und auf index.php?lang=de und en gesetzt aber weder default noch nach klicken auf den links weden die texte angezeigt.


      edit:
      übrigens der platz für die texte ist vergeben das merke ich anhand den breaks aber wie gesagt sie werden nich angezeigt.

      Kommentar


      • #18
        Anfänger hin oder her, das tut relativ wenig zur Sache.
        Selbst du solltest Forenregeln lesen und anwenden können, oder etwa nicht?

        Es wird auch vielen Anfängern geholfen, wenn man sieht, dass Eigeninitiative vorhanden ist.

        EDIT:
        Poste den gesamten Code, sonst kann man nichts nachvollziehen...

        Kommentar


        • #19
          Ja da hast du recht... habe ich übersehen..

          so das ist meine index.php

          1. Versuch

          index.php

          PHP-Code:
          switch ($_GET["lang"]) {
              case 
          "de":
                  include(
          "http://www.domäne.de/lang_de.php");
                  break;
              case 
          "en":
                  include(
          "http://www.domäne.de/lang_en.php");
                  break;
              default:
                  include(
          "http://www.domäne.de/lang_de.php");
                  break;


          aufruf der daten aus der text datei:
          PHP-Code:
          echo $info[5]; </H3>
          <
          P>
          echo 
          $info[0]; <BR>
          echo 
          $info[1]; <br>
          echo 
          $info[2]; <br>
          echo 
          $info[3];<br>
          echo 
          $info[4]; </P>


          echo 
          $allgemeininfo[0]; 
          <
          A href="link.de"> echo $allgemeininfo[1];</A>
          <
          A href="link.de"> echo $allgemeininfo[2]; </A>
          <
          A href="link.de"> echo $allgemeininfo[3]; </A>
          <
          A href="link.de"> echo $allgemeininfo[4]; </A
          Textdateien:
          PHP-Code:
          $info=array(
          //0
            //0
            
          "text",
            
          //1
            
          "text",
            
          //2
            
          "text",
            
          //3
            
          "text",
            
          //4
            
          "text",
            
          //5
            
          "text",
            );

          $allgemeinlinfo=array(
          //0
            //0
            
          "text",
            
          //1
            
          "text",
            
          //2
            
          "text",
            
          //3
            
          "text",
            
          //4
            
          "text",
            ); 
          ^^
          das gleiche nochmal in englisch

          die links für den sprachwechsel habe ich noch nicht. wollte erstmal das es überhaupt funktioniert bevor man die sprache noch umstellen kann. wie schon erwähnt müsste ich auch den sprachwechsel in eine javascript datei einbetten nur das halt php in einem javascript nicht läuft. und eine session läuft schon auf meiner seite wegen dem login.
          Zuletzt geändert von noob_in_php; 04.05.2007, 05:54.

          Kommentar


          • #20
            Habe was rausgefunden:

            wenn ich anstatt:
            index.php
            PHP-Code:
            switch ($_GET["lang"]) {
            case 
            "de":
            include(
            "http://www.domäne.de/lang_de.php");
            break;
            case 
            "en":
            include(
            "http://www.domäne.de/lang_en.php");
            break;
            default:
            include(
            "http://www.domäne.de/lang_de.php");
            break;

            --->
            index.php
            PHP-Code:
            switch ($_GET["lang"]) {
            case 
            "de":
            include(
            "lang_de.php");
            break;
            case 
            "en":
            include(
            "lang_en.php");
            break;
            default:
            include(
            "lang_de.php");
            break;

            schreibe, dann werden wenigstens die deutschen texte als default geladen und angezeigt! möchte aber nicht für jedes tpl 2 lang_ dateien haben.

            irgendwas mit den register_globals? wo schreibe ich das hin und wie siehts genau aus?
            Zuletzt geändert von noob_in_php; 04.05.2007, 05:55.

            Kommentar


            • #21
              So langsam wird es was!

              habe jetzt den link von dir wieder eingebaut:

              <a href="index.php?lang=de">Deutsch</a> - <a href="index.php?lang=en">English</a>

              jetzt lässt sich die sprache schon umschalten funkt problemlos!!

              jetzt fehlt nur noch das mit dem pfad der lang dateien! ich möchte die gerne auf root liegen haben und mit alle tpls drauf zugreifen können. nur das dann kein text angeueigt wird. denke das liegt an den register_globals!

              wie schreibe ich diese funktion und wohin? in die index, textdatei??

              Kommentar


              • #22
                Habe jetzt versucht den befehl register_globals einzubinden!

                zum einen in der index.php
                PHP-Code:
                register_globals $firmeninfo$allgemeininfo

                switch ($_GET["lang"]) {
                    case 
                "de":
                        include(
                "http://www.domäne.de/lang_de.php");
                        break;
                    case 
                "en":
                        include(
                "http://www.domäne.de/lang_en.php");
                        break;
                    default:
                        include(
                "http://www.domäne.de/lang_de.php");
                        break;



                zum anderen in der text datei

                PHP-Code:
                register_globals $firmeninfo$allgemeininfo

                $firmeninfo
                =array(
                //0
                  //0
                  
                "text",
                  
                //1
                  
                "text",
                  
                //2
                  
                "text",
                  
                //3
                  
                "text",
                  
                //4
                  
                "text",
                  
                //5
                  
                "text",
                  );

                $allgemeininfo=array(
                //0
                  //0
                  
                "text",
                  
                //1
                  
                "text",
                  
                //2
                  
                "text",
                  
                //3
                  
                "text",
                  
                //4
                  
                "text",
                  ); 
                Folgender fehler kommt dann zustande:
                Parse error: syntax error, unexpected T_VARIABLE in /is/htdocs/wp1050442_I4VP0FSVFT/lang_en.php on line 3

                EDIT:
                Brauche ich das register_globals überhaupt oder ist das unnötig? liegt es an was anderem, das die texte nicht eingebunden werden wenn ich mit der url arbeite?
                wenn die textdateien im gleichen ordner liegen, dann funkt es bestens.

                das problem ist, dass ich auf verschiedenen subseiten immer wieder die gleichen lang_ dateien einbinden möchte. so müsste ich dann für jedes tpl eigene lang dateien schreiben oder jedesmal die pfade anpassen.
                mit dem einmaligen pfad http://domäne.de/lang_de.php für die switch funktion wäre alles viel einfacher.

                Habs jetzt auch mit global, $global["info"] usw ausprobiert es funktioniert gar nichts. die texte werden einfach nicht übernomen. hat denn keiner mehr eine idee oder seit ihr schon alle schlafen gegangen?
                Zuletzt geändert von noob_in_php; 04.05.2007, 06:01.

                Kommentar


                • #23
                  http://de3.php.net/register_globals das willst du dir durchlesen.
                  Liebe Grüße,
                  SteKoe!

                  PHP Tutorials
                  Peter Kropff | Quakenet | Schattenbaum.net

                  Kommentar


                  • #24
                    ich würde sagen wenn
                    allow_url_fopen
                    auf 0 also Null steht in deinem server dann läuft das eventuell mit
                    deiner " include("http://www.domäne.de/lang_de.php"); " nicht
                    desewegen habe ich mir solch sachen damit erspart,
                    PHP-Code:
                    <?php
                    function outride($item) {
                    $absolute_include="$item";
                    $folder_depth substr_count($_SERVER["PHP_SELF"] , "/");
                    if(
                    $folder_depth == false$folder_depth 1;
                    include(
                    str_repeat("../"$folder_depth 1) . $absolute_include);
                    }

                    if ( !isset(
                    $_SESSION['lang']) )
                    {
                    outride("lang_en.php");
                    $_SESSION['lang'] = "en";
                    }
                    else
                    {
                    outride("lang_".$_SESSION['lang'].".php");
                    }
                    ?>
                    das ist soetwas wie ein absoluter include, sollte mal die aktuelle
                    seite ein paar order tiefer stehen hast trotzdem erfolgreich includiert =)


                    zu dem thema mit den case, also ich bin icht script faulm aber warum
                    immer rmehr arbeit machen als nötig?
                    der CASE fall: <a></a> einfügen, case erweitern, und datei anlegen-> 3 schritte
                    mein fall: <a></a> einfügen und datei anlegen-> 2 schritte

                    und zu dem was DivDax meinte, warum zur action.php verlinken:
                    ich bin keine grösse freudin von request salate in der adress zeile
                    des browosers, meine projekte sind suchmachinen-freundlich
                    (das sie auch noch eine routine habe die prüft welche sprache der
                    user bzw bot läuft) (das hier sind nur snippets von) dewegen sind unsere projekte auch auf
                    verschiedensprachigen suchmachinen in ihren jeweiligen sprachen
                    zu finden, (die spracherkennungs-routine ist aber gleich eines der
                    ersten scripts die starten, wenn der user trotzdem eine andere
                    sprache wählen möchte kann er das auch tun
                    wie war das, um so kürzer die url um so besser kann man sich die
                    merken, also ich finde so schlecht ist sie nicht aber ich wollte nur
                    informieren ;P
                    -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                    Kommentar


                    • #25
                      Hallo habe jetzt mal deine variante probiert. es ist wie vorher, es kommen keine fehlermeldung, es wird aber auch kein text eingefügt.

                      hier der code im index:

                      PHP-Code:
                      <?php


                      function outride($item) {
                      $absolute_include="$item";
                      $folder_depth substr_count($_SERVER["PHP_SELF"] , "/");
                      if(
                      $folder_depth == false$folder_depth 1;
                      include(
                      str_repeat("../"$folder_depth 1) . $absolute_include);
                      }

                      if ( !isset(
                      $_SESSION['lang']) )
                      {
                      outride("lang_en.php");
                      $_SESSION['lang'] = "en";
                      }
                      else
                      {
                      outride("lang_".$_SESSION['lang'].".php");
                      }
                      ?>

                      die links zum sprahwechsel.:

                      PHP-Code:
                      <a href="index.php?lang=de">Deutsch</a> - <a href="index.php?lang=en">English</a

                      die text dateien:

                      PHP-Code:
                      <?php

                      $firmeninfo
                      =array(
                      //0
                        //0
                        
                      "text",
                        
                      //1
                        
                      "text",
                        
                      //2
                        
                      "text",
                        
                      //3
                        
                      "text",
                        
                      //4
                        
                      "text",
                        
                      //5
                        
                      "text",
                        );

                      $allgemeininfo=array(
                      //0
                        //0
                        
                      "text",
                        
                      //1
                        
                      "text",
                        
                      //2
                        
                      "text",
                        
                      //3
                        
                      "text",
                        
                      //4
                        
                      "text",
                        );
                      ?>
                      aufruf der daten von der index
                      PHP-Code:
                      <H3><?php echo $firmeninfo[5]; ?></H3>
                      <P><?php echo $firmeninfo[0]; ?><BR><?php echo $firmeninfo[1]; ?><br><?php echo $firmeninfo[2]; ?><br><?php echo $firmeninfo[3]; ?><br><?php echo $firmeninfo[4]; ?></P>

                      Kommentar


                      • #26
                        Original geschrieben von noob_in_php
                        Hallo habe jetzt mal deine variante probiert. es ist wie vorher, es
                        kommen keine fehlermeldung, es wird aber auch kein text eingefügt.
                        stell mal
                        PHP-Code:
                        error_reporting(E_ALL);
                        var_dump($_SESSION); 
                        nach ganz oben i der index,
                        dann schliesse bitte den browser damit die sessions geleert werden,
                        so die emedungen di edu jetzt bekommst poste diese mal,
                        und genau so klicke mal auf einen link mit action.php,
                        udn poste diese meldungen auch mal,
                        ansonsten geb mir mal nen anhang mit, ich schau mir das mal an =)

                        EDIT:
                        ich denke mal dass die kombination bei dir nicht ganz so möchte
                        deswegen, naj bei mir laufen alle =)

                        -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                        Kommentar


                        • #27
                          Habe das mal probiert und ganz oben vor dem html syntax geschrieben.

                          jetzt kommen auch mal ein paar nützliche meldungen (für euch zumindestens).



                          PHP-Code:
                          NoticeUndefined variable_SESSION in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 3
                          NULL 


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 130


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131


                          Notice
                          Undefined variablefirmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131




                          Notice
                          Undefined variableallgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 134


                          Notice
                          Undefined variableallgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 135


                          Notice
                          Undefined variableallgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 136


                          Notice
                          Undefined variableallgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 137


                          Notice
                          Undefined variableallgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 138 
                          hoffe du kannst was mit anfangen.?

                          Kommentar


                          • #28
                            das sind keine fehler sondern nur hinweise auf schlampige programmierung. infos dazu findest du hier

                            aber das hier sollte dir zu denken geben:
                            PHP-Code:
                            NoticeUndefined variable_SESSION 
                            da fehlt ja wohl was.

                            gruß
                            peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar


                            • #29
                              ich würde sagen das deine index die arrays nicht sieht, weil dies nicht
                              einen standard entspricht denn man beim programieren haben sollte ;P
                              ich bastel mal schnell was zusammen und lerne etwas draus =)
                              aber nutze das, weil nicht jeder würde so helfen
                              bis gleich
                              -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                              Kommentar


                              • #30
                                ups was war das denn ein doppel post?
                                lol xD
                                -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                                Kommentar

                                Lädt...
                                X