Namen aus der aktiven Session auslesen

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

  • Namen aus der aktiven Session auslesen

    Hallo,

    ich habe selbst ein Login-System & Administration mithilfe von Sessions geschrieben und bin das momentan am erweitern, unter anderem dass jeder Benutzer seine eigenen Logindaten hat (Sinnvoller DB abgleich anstatt if $user[1] OR $user[2])... soweit sogut. Nun wollte ich natürlich auch die Membersverwaltung ensprechend editieren, das heisst Admins sehen z.B. nach wie vor alle User zum editieren, aber Members neu nur noch sich selbst.

    Und da ist nun mein Problem. Da bei bestehender Session kein manueller Login mehr erfolgt kann ich ja nicht mehr auf die Variablen mit den eingegebenen Login-Daten zugreifen, ist ja klar. Nun wollte mittels der aktiven Session den Benutzer auslesen um den dann dem einem Query übergeben ($sql = ...where user = '$user'...).

    In der Suche hab ich leider nichts gefunden und momentan komm ich irgendwie nicht drauf wie ich den eingeloggten Benutzer aus $_SESSIONS['user'] raushole. Denke solllte kein Problem sein, im Moment hab ich aber total ne Blockade...

    Wäre dankbar für nen Tipp mit Beispiel.

    Danke und Gruss

    Seek

  • #2
    naja, du hast es schon richtig erkannt es steht in $_SESSION['user'] was es für ein user ist. wenn du echo $_SESSION['user'] machst dann wird es dir ausgegeben, du kannst mit dieser Variable so umgehen wie mit jeder anderen auch.

    Kommentar


    • #3
      Ich weiss, ich hab die Variable auch bereits mit print_r ausgegeben und dann seh ich eben dass die Variable ein bzw. mehrere Arrays hat und somit nicht weiss wie ich auf die gerade aktive Session bzw. dessen gespeicherten Namen zugreifen kann.

      PHP-Code:
      Array ( [0] => Array ( [0] => 176 [member_id] => 176 [1] => Ares 
      [member_name] => Ares [2] => [login_type] => [3] => [suffix] => [4]
       => [
      prefix] => ) [1] => Array ( [0] => [member_id] => [1] => Seek 
      [member_name] => Seek [2] => [login_type] => [3] => [suffix] => [4]
       => [
      prefix] => ) [2] => Array ( [0] => 175 [member_id] => 175 [1] =>
       
      Karltoffel [member_name] => Karltoffel [2] => [login_type] => [3] =>
       [
      suffix] => [4] => [prefix] => ) ) 
      Zuletzt geändert von Seek; 13.01.2005, 11:22.

      Kommentar


      • #4
        Schau dir mal das hier an.
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          Original geschrieben von Seek
          Ich weiss, ich hab die Variable auch bereits mit print_r ausgegeben und dann seh ich eben dass die Variable ein bzw. mehrere Arrays hat und somit nicht weiss wie ich auf die gerade aktive Session bzw. dessen gespeicherten Namen zugreifen kann.

          PHP-Code:
          Array ( [0] => Array ( [0] => 176 [member_id] => 176 [1] => Ares 
          [member_name] => Ares [2] => [login_type] => [3] => [suffix] => [4]
           => [
          prefix] => ) [1] => Array ( [0] => [member_id] => [1] => Seek 
          [member_name] => Seek [2] => [login_type] => [3] => [suffix] => [4]
           => [
          prefix] => ) [2] => Array ( [0] => 175 [member_id] => 175 [1] => 
          Karltoffel [member_name] => Karltoffel [2] => [login_type] => [3] =>
           [
          suffix] => [4] => [prefix] => ) ) 
          Versuch mal statt nur print_r($array):
          PHP-Code:
           echo '<pre>' print_r($arraytrue) . '</pre>'
          Bei dem Ding da oben kann man ja fast nix erkennen -_-

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            wie kommt es das du mehrere member namen in $_SESSION hast?

            Kommentar


            • #7
              Wie ich auf Arrays und Unterarrays zugreifen kann weis ich auch, aber das bringt mir hier genau garnix. Ich will wissen wie ich den Namen der gerade von mir benutzten Session rausholen kann. Falls das überhaupt möglich ist...

              Kommentar


              • #8
                @treo

                Das liegt wohl am session_register('user');. Der Muss ja die unterschiedlichen Sessions irgendwo speichern?

                Kommentar


                • #9
                  Original geschrieben von treo
                  wie kommt es das du mehrere member namen in $_SESSION hast?
                  Gute Frage......
                  Habe ich nicht die Spur einer Ahnung was der Herr Threadstarter da gemacht hat.....

                  Vermutlich hat er aus irgendeinem Grund ein komisches Array generiert....

                  Und daher würde ich mal empfehlen.....

                  Eine Session zu initialisieren und dann via session_id(); lediglich das in die DB eintragen.......

                  Bei der Überprüfung ob Jemand eingeloggt ist die session_id(); mit der DB abgleichen und alle Daten die erforderlich sind herausholen.....Dabei wäre es gut noch eine Zeitspalte zu haben um lediglich Einträge mit einem gewissen Alter als eingeloggt zu kennzeichen......

                  BTW: session_register() verwendet man nicht ist aber auch nicht der Grund dafür.......

                  Änder das dahingehend ab dann gibts auch keine Probleme......Warum sollte man abfragen user1 or user2 or user3 schreiben. SQL basierend wäre ein IN() sinnvoller.....Und in einem Usermanagment ist das abgesehen davon unnötig....

                  Anmerkung: In den Codeschnipsel gibt es u.A. 2 Usermanagment eine davon basierend auf einer Klasse und die andere gewöhnlich.....
                  Warum das Rad neu erfinden ?.....
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Ich möchte es aber wenn irgendwie möglich erstmal ohne DB eintrag machen. Array habe ich eigentlich keins generiert. Und das mit $userx or $userxy hab ich ja in meinem Script nicht mehr, das war nur vorübergehend so. Was an session_register(); falsch sein soll weiss ich auch nicht, wird doch in anderen Scripts auch verwendet, muss zwar noch nichts heissen, aber bei mir funktioniert ja sonst alles.

                    Hier am besten mal mein dokumentierter Code-Schnipsel, vielleicht kann mir dann ja jemand erklären wie ich das ohne grosse Änderungen besser machen kann (ich versuche immer alles so einfach wie möglich zu coden).

                    Nochmals, ich will nur den Name der Session, mit welcher ich mich gerade eingeloggt habe, zusätzlich auslesen können.

                    @mod, tjo ich habe 1280er Auflösung und da gehts ohne Scrollen... edited

                    Angucken: Codeschnipsel
                    Zuletzt geändert von Seek; 13.01.2005, 00:03.

                    Kommentar


                    • #11
                      @seek, würdest du bitte dies: http://www.php-resource.de/forum/sho...threadid=47906 lesen und befolgen. Danke.

                      Kommentar


                      • #12
                        Ich hab nun einfach session_register('user'); durch session_register('loginname') ersetzt und so geht nun alles wunderbar.

                        Kommentar


                        • #13
                          Original geschrieben von Seek
                          Ich hab nun einfach session_register('user'); durch session_register('loginname') ersetzt und so geht nun alles wunderbar.
                          Darf ich nocheinmal betonen das session_register nicht verwendet wird weil es ein $_SESSION Array gibt und daher zu den Akten gelegt werden kann........
                          [color=blue]MfG Payne_of_Death[/color]

                          [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                          [color=red]Merke:[/color]
                          [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                          Murphy`s Importanst LAWS
                          Jede Lösung bringt nur neue Probleme
                          Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                          In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                          Kommentar

                          Lädt...
                          X