Kontrollieren ob eine Session gestartet wurde

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

  • Kontrollieren ob eine Session gestartet wurde

    Hallo zusammen

    Ich habe ein Login in meiner Seite einbaut. Das Login funkt. via MySQL und mit Sessions. Da ich aber meine Seite dynamisch aufgebaut habe (eine ganze Menge von "includes") fragte ich mich, ob die Möglichkeit besteht zu kontrollieren ob jeweils die Session up ist

    So quasi:

    if
    session_start();
    ausgeführt wurde dann zeige die seite

    else
    bringe ein error

    Weil sonst ist zwar die erste Seite vom Passwort geschützt aber alle anderen (via include) nicht.

    Vielen Dank für jeglichen Feedback

    greetz
    desmo

  • #2
    Lies einfach unser Tut zu diesem Thema, dann weißt du bescheid, wie man nen Login aufbaut!

    Kommentar


    • #3
      bool session_is_registered ( string Name)


      session_is_registered() gibt TRUE zurück, wenn in der aktuellen Session eine globale Variable mit dem Namen Name registriert ist.
      tata
      moqui

      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

      Kommentar


      • #4
        @ tobiaz

        habe ich doch aber diesen teil:

        session_start();
        if(!session_is_registered('user') || $_SESSION['user'] == "") {
        header("location:index.php");
        die;

        kann ich nicht in weiteren seiten einfügen. das geht zwar auf die erste seite, aber nicht auf alle andere die ich via include einbaue und wenn ich das nicht überprüfe, kann man die anderen seiten direkt abrufen und das login umgehen. (eben weil meine seite dynamisch aufgebaut ist)



        @ moqui

        vielen dank, aber kann leider nichts finden zu "session_is_registered" in der FAQ. würde so was auch gehen?


        auf der loginseite, nachdem username+passwort okay sind:

        $_SESSION["logged"]=1;


        und auf allen anderen seiten die per include reinkommen:

        if($_SESSION["logged"]!=1)
        {header('Location:meineseite.php');exit;}



        vielen dank und gruzz
        desmo

        Kommentar


        • #5
          Beim nächsten Mal selber die PHP-Manual-Suche benutzen ... Danke

          http://de3.php.net/manual/de/functio...registered.php
          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
            @desmo: ist das nicht das gleiche, wie im Tut?

            Kommentar


            • #7
              sooooooooooorrry

              habe es jetzt auch gefunden:

              <?PHP
              session_start();
              $vari = "Mein Inhalt";
              $arg = "Die Befehlsreferenz";
              if(session_register("vari")) echo "Variable registriert! <br>";
              if(session_is_registered("vari"))echo session_encode();
              echo "<br>";
              if(!session_is_registered("arg"))echo "Variable ist nicht registriert!";
              ?>

              ich probiere mal.....

              Kommentar


              • #8
                damit arbeitet man aber nicht mehr!!! -> siehe Manual!!!

                Kommentar


                • #9
                  okay, jetzt bin ich durcheinander kann ich so was benutzen, oder ist das, wieder das gleiche?


                  auf der loginseite, nachdem username+passwort okay sind:

                  $_SESSION["logged"]=1;


                  und auf allen anderen seiten die per include reinkommen:

                  if($_SESSION["logged"]!=1)
                  die;
                  else
                  {header('Location:error401.php');
                  exit;}

                  Kommentar


                  • #10
                    okay, okay, ich war zu viel vor der kiste, habe jetzt alles was ich brauche! danke ihr seit die besten



                    Instead of using session_register(...) , simply use somethig like:

                    <?
                    //must always start the session first
                    session_start();

                    //in place of session register(..) use...like someone said above
                    $_SESSION['VARNAME'] = $something // or "something";

                    /* then on the same page or subsequent pages where you want check for the session use something like....

                    and on another page where the session hasn't been started you have to call session_start(); first, if the session has already been started you don't need to call it again */

                    session_start();

                    //instead of session_is_registered();
                    if(isset($_SESSION['VARNAME']))
                    {
                    print("What you want if the session var is set");
                    }
                    else
                    {
                    print("What you want if the sessions variable is not set");
                    }

                    ?>

                    I hope this helps someone! If you want to learn more about $_SESSION and/or it's related "superglobals" try

                    http://www.php.net/manual/en/printwn...predefined.php

                    Kommentar


                    • #11
                      na prima!

                      Kommentar

                      Lädt...
                      X