check if session is set

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

  • check if session is set

    Hallo,
    ich habe in meine index.php diesen code

    session_start();
    $username = "mysessen";
    if ($_SESSION['username'])
    {
    echo "session ". $username." ist registriert";
    }
    else
    {
    echo "session " .$username. " ist nicht muss registriert werden";
    $_SESSION['username'] = $username ;
    }

    jedesmal wenn ich die seite aktualisiere ist if falsch denn am server liegt immer eine neu session.

    bring die if-abfrage nicht hin könnt ihr mir bitte helfen
    danke
    ron

  • #2
    http://de3.php.net/manual/de/function.session-start.php

    Bitte nutze den obigen Link um dich genauer über Sessions und session_start zu informieren. Deiner Beschreibung nach beachtest du leider nicht, dass die Session über eine eindeutige ID wiedererkannt werden muss. Diese ID musst du natürlich übergeben - wahlweise per QUERY oder Cookie.

    Überprüfe speziell ob Cookies bei deinem Browser erlaubt sind sowie ob nach dem ersten Besuch ein Cookie angelegt wird.
    Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

    Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

    Wer suchet, der findet: http://www.php-resource.de/forum/search.php
    Immer noch nichts? Dann frag!


    Mit freundlichen Grüßen,
    @4u

    Kommentar


    • #3
      danke a4u,
      habe es jetzt so geändert aber funktioniert noch immer nicht

      $username = "werosoft";
      session_name ($username);
      session_start();
      if (isset($_SESSION['username']))
      {
      echo "session ". $username." ist registriert";
      }
      else
      {
      echo "session " .$username. " ist nicht muss registriert werden";
      $_SESSION['username'] = $username ;
      }

      am webserver liegt die session mit dem inhalt und bei jeder aktualisierung des browsers wird eine neu session am webserver angelegt?? das heisst die Zeile if (isset($_SESSION['username'])) liefert falsch.
      cookies sind erlaubt
      danke
      ron

      Kommentar


      • #4
        wenn du deinen webserver und php korrekt eingerichtet hast, sollte es so korrekt funktionieren
        PHP-Code:
        <?php

            session_start
        ();

            
        $username "werosoft";

            if (isset(
        $_SESSION['username']) && $_SESSION['username'] == $username)
            {
                echo 
        "session ".$_SESSION['username']." ist registriert";
            }
            else
            {
                echo 
        "username " .$username" muss in der session registriert werden";
                
        $_SESSION['username'] = $username ;
            }

        ?>
        ich habe es getestest. ES FUNKTIONIERT. wenn es das bei dir nicht so ist, hast du einen anderen fehler.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Re: check if session is set

          Original geschrieben von ron9999
          if ($_SESSION['username'])
          Noch einen Nachtrag zum besseren Verständnis des jetzt sicherlich verursachenden Problems:

          "if ($_SESSION['username'])" ergibt auch dann "falsch", wenn die Session korrekt erstellt und die Information eingelesen werden konnte, aber 'username' einfach nur leer ist. "isset" hingegen prüft die Existenz der Variablen, nicht deren Inhalt.

          (Im Bezug auf das erste Posting)
          Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

          Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

          Wer suchet, der findet: http://www.php-resource.de/forum/search.php
          Immer noch nichts? Dann frag!


          Mit freundlichen Grüßen,
          @4u

          Kommentar


          • #6
            danke
            habe den code in eine neue page geschrieben und danach aufgerufen.

            beim aktualisieren wird jedesmal eine neue session am webserver angelegt.

            wo schaut das script nach?
            if (isset($_SESSION['username'])
            auf der client seite ob ein cookie gespeichert ist ?
            wenn ja wer speichert das cookie?
            muss ich dazu nicht
            setcookie("sessionid",session_id()); oder so ähnlich
            aufrufen?
            und muss ich dazu im php.ini session.use_cookies=1 einstellen?
            danke
            ron

            Kommentar


            • #7
              Interessant wäre die INI-Einstellung "session.use_cookies". Sie gibt an, ob automatisch Cookies als Session-ID-Übermittler genutzt werden sollen.

              Weitere Informationen hierzu gibt es wiedermal auch in der PHP Manual:

              http://de3.php.net/manual/de/ref.session.php

              Sollte diese Einstellung "0" oder "false" sein, müsstest du tatsächlich den Cookie mit der ID manuell anlegen.
              Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

              Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

              Wer suchet, der findet: http://www.php-resource.de/forum/search.php
              Immer noch nichts? Dann frag!


              Mit freundlichen Grüßen,
              @4u

              Kommentar


              • #8
                Original geschrieben von a4u
                Sollte diese Einstellung "0" oder "false" sein, müsstest du tatsächlich den Cookie mit der ID manuell anlegen.
                bzw. die session-id in der url anhängen, was php dann schon automatisch bei verlinkungen übernimmt.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  ich hab einmal kurz gecheckt ob dieses script finktioniert
                  // Setzen der Cookies
                  setcookie ("cookie[three]", "cookiethree");
                  setcookie ("cookie[two]", "cookietwo");
                  setcookie ("cookie[one]", "cookieone");

                  // Nach dem Neuladen der Seite wieder ausgeben
                  if (isset($_COOKIE['cookie'])) {
                  foreach ($_COOKIE['cookie'] as $name => $value) {
                  echo "<br>";
                  echo "$name : $value <br />\n";
                  }
                  }
                  und es es geht
                  jetzt setze ich session.use_cookies=1 in der php.ini und probiers nocheinmal
                  ron

                  Kommentar


                  • #10
                    Original geschrieben von ron9999
                    ich hab einmal kurz gecheckt ob dieses script finktioniert
                    // Setzen der Cookies
                    setcookie ("cookie[three]", "cookiethree");
                    setcookie ("cookie[two]", "cookietwo");
                    setcookie ("cookie[one]", "cookieone");

                    // Nach dem Neuladen der Seite wieder ausgeben
                    if (isset($_COOKIE['cookie'])) {
                    foreach ($_COOKIE['cookie'] as $name => $value) {
                    echo "<br>";
                    echo "$name : $value <br />\n";
                    }
                    }
                    und es es geht
                    jetzt setze ich session.use_cookies=1 in der php.ini und probiers nocheinmal
                    ron
                    Ich entnehme den das use_cookies vorher deaktiviert waren? Sollte dies der Fall sein, konnte es nicht funktionieren, da ja auch die SID nicht in der URL hinzugefügt worden war - wie "Abraxax" schon erklärte. Der Fluch der F5-Taste
                    Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

                    Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

                    Wer suchet, der findet: http://www.php-resource.de/forum/search.php
                    Immer noch nichts? Dann frag!


                    Mit freundlichen Grüßen,
                    @4u

                    Kommentar


                    • #11
                      jetzt nachdem ich die php.ini geändert habe geht es.
                      finde aber das cookie nicht auf meiner platte, mit welchen namen wird es auf der clientsite gespeichert.
                      danke
                      ron

                      Kommentar


                      • #12
                        Benutzername am Betriebssystem im Ordner cookies.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Je nach Betriebssystem:

                          C:\Windows\Profiles\Dein Benutzername\Lokale Einstellungen\Temporary Internet Files
                          oder
                          C:\Dokumente und Einstellungen\Dein Benutzername\Lokale Einstellungen\Temporary Internet Files

                          Am besten nach "Adresse" sortieren lassen und anschließend nach dem Cookie "Cookieein Benutzername@die Domain des Scripts.txt" schauen.
                          Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

                          Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

                          Wer suchet, der findet: http://www.php-resource.de/forum/search.php
                          Immer noch nichts? Dann frag!


                          Mit freundlichen Grüßen,
                          @4u

                          Kommentar


                          • #14
                            kann es nicht finden?
                            im Temporary Internet Files hab ich nach internetadresse sortiert und alle cookie:xxx durchgesehen kann meines -von dem script- nicht finden

                            danke
                            ron

                            Kommentar


                            • #15
                              dann suche mal auf deinem rechner alle dateien die das @-zeichen beinhalten im dateinamen. damit solltest du fündig werden.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X