Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Session

Einklappen

Neue Werbung 2019

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

  • Problem mit Session

    index.php:
    session_start();
    //Ist Sprache gewählt? sonst Englisch
    if (true==isset($_SESSION)) echo "Session gesetzt!"; //Nur zum Test
    if (false==isset($_SESSION)) {
    $_SESSION["lng"]= "eng";
    }
    echo $_SESSION["lng"]; //Nur zum Test

    if ("ger"==$_SESSION["lng"]) {
    echo "[img]./images/banner_usa.gif[/img]";
    } else {
    echo "[img]./images/banner_ger.gif[/img]";
    }


    lng_change.php:
    session_start();
    echo session_id();
    if ($_SESSION["lng"]=="ger") {
    $_SESSION["lng"]="eng";
    } else {
    $_SESSION["lng"]="ger";
    }
    echo "<a href=\"index.php\">ZURUCK</a>";


    Wenn ich von lng_change.php auf "ZURUCK" klicke und ich wieder zum index.php gelange wird NIEMALS "Session gesetzt!" ausgegeben, immer nur "eng"!!

  • #2
    Re: Problem mit Session

    Zitat von apo
    Wenn ich von lng_change.php auf "ZURUCK" klicke und ich wieder zum index.php gelange wird NIEMALS "Session gesetzt!" ausgegeben, immer nur "eng"!!
    Ich vermisse in dem Link die Weitergabe von session_name und session_id für den Fall, daß der Client keinen Keks haben wollte.

    Kommentar


    • #3
      phpinfo() gibt mir das unter sessions aus, cookies sind doch aktiviert...

      Session Support enabled

      Directive Local Value Master Value
      session.auto_start
      Off Off
      session.cache_expire
      180 180
      session.cache_limiter
      nocache nocache
      session.cookie_domain
      no value no value
      session.cookie_lifetime
      0 0
      session.cookie_path
      C:/PHP C:/PHP
      session.cookie_secure
      Off Off
      session.entropy_file
      no value no value
      session.entropy_length
      0 0
      session.gc_maxlifetime
      1440 1440
      session.gc_probability
      1 1
      session.name
      PHPSESSID PHPSESSID
      session.referer_check
      no value no value
      session.save_handler
      files files
      session.save_path
      C:/PHP C:/PHP
      session.serialize_handler
      php php
      session.use_cookies
      On On

      Kommentar


      • #4
        Zitat von apo
        phpinfo() gibt mir das unter sessions aus, cookies sind doch aktiviert...
        Freilich, aber das ist falsch:

        Code:
        session.cookie_path  C:/PHP C:/PHP
        Zitat von PHP Handbuch
        Der Pfad zu dem Server, auf welchem das Cookie verfügbar sein wird.

        Ist er auf '/' gesetzt, wird das Cookie innerhalb der gesamten Domain verfügbar. Ist er auf '/foo/' gesetzt, wird das Cookie nur innerhalb des Verzeichnisses /foo/ der domain, sowie allen Unterverzeichnissen wie z.B. /foo/bar/ verfügbar. Der Standardwert ist das Verzeichnis, in dem das Cookie gesetzt wurde.

        Kommentar


        • #5
          Normalerweise wird doch
          Code:
          session.name=session.id
          automatisch angehängt

          Ist bei mir jedenfalls so.

          Kommentar


          • #6
            Zitat von DutziMan
            Normalerweise wird doch
            Code:
            session.name=session.id
            automatisch angehängt
            Ist bei mir jedenfalls so.
            Nur passiert nur dann, wenn session.use_trans_sid = 1 und der Client keinen Keks haben wollte.

            Kommentar


            • #7
              Jetzt funzt es!
              Ich habe nichts an der php.ini geändert!
              nur im script habe ich überall $_SESSION durch $HTTP_SESSION_VARS ersetzt! Warum geht das so, kann mir da mal bitte jemand den Unterschied erklären?!?

              Kommentar


              • #8
                auch Output-Probleme

                Möchte gleiches machen, was mache ich falsch?

                Page 1 ist ein Form diese beginnt mit
                session_start();
                $_SESSION['veran_erfassen']=$_POST;

                Der Input des Form geht zu
                <form action='page2.php' method='POST'>


                Auf der Page 2 wollte ich die Session mal aufgeben, nur so zum Test um zu sehen, was da drin ist. Die Seite beginnt wieder mit

                session_start();
                $_SESSION['page1']=$_POST;


                und dann mchate ich ein Echo

                echo $_SESSION['page1'];



                Das Resultat lautet
                Array

                Nun, wo sind die Daten der Sission und wie kann ich diese anschauen?

                Danke

                Kommentar


                • #9
                  Zitat von apo
                  nur im script habe ich überall $_SESSION durch $HTTP_SESSION_VARS ersetzt! Warum geht das so, kann mir da mal bitte jemand den Unterschied erklären?!?
                  ältere PHP-Version

                  Kommentar


                  • #10
                    Re: auch Output-Probleme

                    Zitat von Sonja
                    session_start();
                    $_SESSION['veran_erfassen']=$_POST; # 1. Formular
                    ...
                    session_start();
                    $_SESSION['page1']=$_POST; # 2. Formular

                    und dann mchate ich ein Echo
                    echo $_SESSION['page1'];

                    Das Resultat lautet
                    Array
                    Da $_POST ein Array ist, ist nach der Zuweisung $_SESSION['page1'] und $_SESSION['veran_erfassen'] ebenfalls ein Array.

                    Beispiel:
                    $_SESSION['page1']['var1'] entspricht $_POST['var1'] aus dem 2. Formular

                    $_SESSION['veran_erfassen']['irgendwas'] entspricht $_POST['irgendwas'] aus dem 1. Formular

                    Alles klar?

                    Kommentar


                    • #11
                      Ich nutze PHP Ver. 4.0.2, ist das ein Problem? Aktuell is ja 4.3, wurden viele bugfixes gemacht?

                      Kommentar


                      • #12
                        Zitat von apo
                        Ich nutze PHP Ver. 4.0.2, ist das ein Problem?
                        Ja. Diese steinalte und kaputte Version will man selbst unter Zwang nicht mehr haben. Außerdem gibt es $_SESSION erst seit PHP 4.1.0

                        Kommentar


                        • #13
                          dann is ja alles klar...

                          Kommentar

                          Lädt...
                          X