Ankündigung

Einklappen
Keine Ankündigung bisher.

Cookie setzen und weiter leiten???

Einklappen

Neue Werbung 2019

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

  • Cookie setzen und weiter leiten???

    Hallo,
    ich bräuchte eure hilfe Bitte.
    Ich möchte gern das ein Cookie gesetzt wird mit den Namen "Sprache" und mit dem einfachen inhalt "de".

    Dann brauch eich eine abfrage wenn in cookie "de" drin steht, das er dann
    auf
    localhost/pages/de/test.html
    leitet und wenn nicht dann auf
    localhost/pages/en/test.html
    leitet.

    Habe ein paar sachen gefunden nur irgendwie läuft das nicht mit Xampp und cookie setzen.

    Ist sehr weichtig für mich.

    Dank im Voras
    c01001.
    Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

  • #2
    mhm sollte so klappen

    PHP-Code:
    <?php
    set_cookie
    ("Sprache" "de" mktime(0,0,0,1,1,2030));
    ?>
    PHP-Code:
    <?php

    if(isset($_COOKIE) && $_COOKIE["Sprache"] = "de"){
         
    HEADER("LOCATION:http://"
                       
    .$_SERVER["SERVER_NAME"].
                       
    dirname($_SERVER["REQUEST_URI"])  
                       .
    "/de/test.html");
    }else{
             
    HEADER("LOCATION:http://"
                       
    .$_SERVER["SERVER_NAME"].
                       
    dirname($_SERVER["REQUEST_URI"])  
                       .
    "/en/test.html");
    }
    ?>
    Vorrausgesetzt das das Script im Verzeichniss Pages liegt.

    Kommentar


    • #3
      if(isset($_COOKIE) && $_COOKIE["Sprache"] == "de"){


      doppelts gleichheitszeichen wär da wohl sinnvoller

      mfg Niedi
      http://forum.developers-guide.net

      Klick dich REICH:
      http://www.klick-reich.de/index2.php...lden&ref=Niedi

      Kommentar


      • #4
        Und
        isset($_COOKIE['Sprache'])
        statt
        isset($_COOKIE)
        dürfte sogar noch besser sein.
        **********************************
        Nein, ich bin nicht die Signatur.
        Ich putze hier nur.
        **********************************

        Kommentar


        • #5
          Ah, danke für die Antworten, jetzt was noch für mich sehr wichtig ist, als ich mir die beiden codes gesehen habe ist:
          cookie setzen ist sehr gut.
          PHP-Code:
          <?php
          set_cookie
          ("Sprache" "de" mktime(0,0,0,1,1,2030));
          ?>
          aber bei abfrage kann man das so mach das, wenn in "Sprache", "de" steht oder "en" oder "fr", das er dann das in den link einbindet mit einer variable???

          Also bei abfrage z.B:
          Cookie "Sprache" inhalt "de"
          dann in
          localhost/pages/$variable/test.html
          das ersetzt und als ergebniss
          localhost/pages/de/test.html
          rauas kommt ????
          Und die anderen dann "en" oder "fr"?

          Das wäre auch eine möglichkeit.
          Aber Trtozdem Danke @ll für die schnelle Antwort und verbesserungs voschläge.
          Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

          Kommentar


          • #6
            Hehe nachdem mein Script noch 20 mal verbessert wurde Fehler seh ich meist erst beim ersten Starten oder dann wenn was falsch läuft *G*

            Danke aber bin noch nen bissel neu bei Cookies, von daher muss ich das noch in meinen Scripten ändern .

            Ehm man kann normal bis zu 20 Cookies auf den Rechner speichern und jeder Cookie kann noch mehrere Informationen aufnehmen.

            Im Prinzip musst du alle Informationen bündeln mit serialize() ein Array in einen String zusammenführen und mit unserialize wieder zu einen Array verwandeln beim aufrufen des Cookies. Noch nicht ausprobiert nur mal gelesen nun bisher.

            oder aber einfacher , wobei ich nicht weiss ob das soooo funktioniert mit eng oder frz (oder wie auch immer die franzosen ihr zeichen haben)

            PHP-Code:
            <?php
            $userinfo 
            $_SERVER["HTTP_USER_AGENT"];
            $pattern "/(de|en|frz)/";
            if(
            preg_match_all($pattern,$userinfo,$matches)){
              
            $language $matches[0][0];
            }

            switch 
            $language{
              case 
            "de":
               
            anweisung...
               break;
              case 
            "eng":
               
            anweisung...
               break;
              case 
            "frz":
               
            anweisung...
               break;
            }
            ?>
            besser hab ich das mit dem Pattern nicht hinbekommen aber sollte reichen Reguläre Ausdrücke sind mein Feind.
            Da brauchst nichtmal einen Cookie der nur die Sprache speichert.

            Kommentar


            • #7
              PHP-Code:
              <?php
              $userinfo 
              $_SERVER["HTTP_USER_AGENT"];
              $pattern "/(de|en|frz)/";
              if(
              preg_match_all($pattern,$userinfo,$matches)){
                
              $language $matches[0][0];
              }

              switch 
              $language{
                case 
              "de":
                 
              anweisung...
                 break;
                case 
              "eng":
                 
              anweisung...
                 break;
                case 
              "frz":
                 
              anweisung...
                 break;
              }
              ?>
              Gibs das nicht kürzer ohne case, die "de", "en", "fr" waren nur ein beispiel.
              z.B.:

              PHP-Code:
              <?php
              if(isset($_COOKIE) && $_COOKIE["Sprache"] == $variable){
              ......
              ?>
              und dann mit einen satz:

              PHP-Code:
              <?php
              HEADER
              ("LOCATION:http://localhost/pages/"$variable"/index.html");
              ?>
              ist das möglich?
              Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

              Kommentar


              • #8
                Was hindert Dich daran, mal 10 Sekunden zu investieren, um das einfach auszuprobieren?

                Natürlich geht das nicht so, wie Du es geschrieben hast, aber wenn Du die Strings korrekt aneinander hängst, sollte das ja wohl kein Problem sein:

                PHP-Code:
                <?php
                header
                ("Location: http://localhost/pages/".$_COOKIE['Sprache']."/index.html"); 
                header("Location: http://localhost/pages/$_COOKIE[Sprache]/index.html"); 
                header("Location: http://localhost/pages/$Variable/index.html"); 
                ?>
                Alles sollte funktionieren. Unter der Annahme, dass in $Variable und im Cookie der jeweilige Verzeichnissame stehen.

                Auf Groß- und Kleinschreibung muss selbstverständlich auch geachtet werden.

                Fragen, ob irgendwas geht ist doch kindisch.
                Das Verfassen des Beitrags und das Lesen der Antworten dauert doch 100 mal länger als ein Versuch. Von der Zeit der anderen mal abgesehen.
                ts ts ts........
                **********************************
                Nein, ich bin nicht die Signatur.
                Ich putze hier nur.
                **********************************

                Kommentar


                • #9
                  Danke, jo ich weiss, nur es hat nicht so geklappt.
                  Leider muss ich sagen das cookie setzen nicht fuktioniert hat.
                  Es sieht alles gut aus, aber cookie setzt er nicht.
                  Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

                  Kommentar


                  • #10
                    Und sind Kekse im Browser erlaubt?
                    Man sollte sich nicht drauf verlassen.
                    **********************************
                    Nein, ich bin nicht die Signatur.
                    Ich putze hier nur.
                    **********************************

                    Kommentar


                    • #11
                      Mir kommen die Tränen irgendwie funktioniert hier nicht alles richtig, oder ich kann kein php?
                      Xampp läuft

                      <html>
                      <body>
                      <?PHP
                      echo "hallo";
                      ?>
                      </body>
                      </html>
                      steht in datei test.html und es funktioniert nicht.

                      <?PHP
                      echo "hallo";
                      ?>

                      test2.php
                      funktioniert alles, klärt mich auf mache ich was falsch oder hat sich was gäendert oder ich habe was vergessen.
                      PHP script kann man doch in HTML einbinden oder?
                      Mir kommen die trännen.
                      Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

                      Kommentar


                      • #12
                        Benenne doch die Datei test.html mal in Test.php um.

                        Viele Grüsse

                        Stefan

                        Kommentar


                        • #13
                          ja klar so läuft das aber warum nicht in html hat das was mit Apache konfig zu tun oder was ist los?
                          Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

                          Kommentar


                          • #14
                            Weil innerhalb der Datei PHP Code ausgegeben werden soll und der Server muss auch wissen was er für eine Datei eben verarbeitet.

                            Das ist so als wenn du ein C Programm schreibst und es statt test.c zum beispiel test.java nennst.

                            Kommentar


                            • #15
                              Alles klar, muss ich mal schauen wo ich das alles ändern kann.
                              Ok dann ist es ne konfigurations sache oder ?
                              Das muss mal schauen.


                              Aber warum schreibt er dann trotzdem kein cookie bei
                              <?php
                              setcookie("Sprache" , "de");
                              ?>

                              und bei
                              <?php
                              set_cookie("Sprache" , "de" , mktime(0,0,0,1,1,2030));
                              ?>
                              gibt er
                              Fatal error: Call to undefined function set_cookie()
                              Ob eine Sache gelingt, erfährst du nicht, wenn du darüber nachdenkst, sondern wenn du es ausprobierst.

                              Kommentar

                              Lädt...
                              X