Login Tutorial Usernamen auslesen

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

  • Login Tutorial Usernamen auslesen

    Erstmal vielen Dank für das Tutorial "Login mit Hilfe von PHP und mySQL".

    Funktioniert soweit alles wunderbar, nur jetzt möchte ich das Script erweitern und stehe vor folgender Frage:


    Wie kann ich den angemeldeten Nutzernamen auslesen?


    Ich wär ja schon glücklich, wenn das Script mir bei der logged_in.php statt "Sie sind eingeloggt.", "Sie sind eingeloggt als Admin." ausspucken würde.


    Wäre super, wenn mir jemand da nen kleinen Tipp geben könnte!

  • #2
    Am Besten schreibst du eine neue Funktion auf Basis der logged_in() Funktion. Statt der UserID fragst du einfach den UserNamen aus der Datenbank ab, und gibst diesen zurück.
    Al Gerüst sollte dir dies reichen:
    PHP-Code:
    function checkUser()
    {
       
    $sql 'Wie in logged_in(), nur statt UserID den Usernamen abfragen';
       
    $result mysql_query($sql) or die(mysql_error());
       
    $name 'Usernamen aus dem Abfrageresultat herausholen, z.B. mit mysql_fetch_row()';
       return 
    $name;

    Hoffe mal, das funktioniert so...bin selbst n' Noob. Wenn du mehr Hilfe brauchst, wirst du dich schon wieder melden .

    Kommentar


    • #3
      Hi,

      fall es noch jemand interessiert. Ich habe das so gelöst:

      $sessionid = session_id();
      $result = mysql_query("Select * from users where UserSession = '$sessionid'") or die(mysql_error());
      if ($result)
      {
      $row= mysql_fetch_array($result);
      $name=$row["UserName"]; //$name wurde der Username zugewissen
      mysql_free_result($result);
      }
      echo "<p>Hallo <strong>$name</strong><br>bist eingelogt</p>";
      echo '<p><a href="index.php?id=logout">Ausloggen</a></p>';

      Kommentar


      • #4
        Noch einfacher gehts, indem du die sessionhelpers-Datei um diese Funktion erweiterst:

        function get_userid()
        {
        $sql="SELECT id
        FROM tab_user
        WHERE sessionid='".session_id()."' LIMIT 1";
        $result= mysql_query($sql);
        $user= mysql_fetch_assoc($result);
        return $user['id'];
        }

        Dann kannst du, einen include 'sessionhelpers.inc.php'; vorausgesetzt, mithilfe von

        $meineid=get_userid();

        die User ID des eingeloggten Users abfragen. Dann kann man aus jeder PHP-Datei, die vom eingeloggten User aufgerufen wird, die User ID abfragen...

        Analog dazu kann man beim jeweiligen User z.B. ein Admin-Flag im Datensatz setzen (also z.B. 0 bei Normalanwender, 1 bei Admin) , die sessionhelpers.inc.php um diese Prozedur erweitern

        function get_userstatus()
        {
        $sql="SELECT status
        FROM tab_user
        WHERE sessionid='".session_id()."' LIMIT 1";
        $result= mysql_query($sql);
        $status= mysql_fetch_assoc($result);
        return $user['status'];
        }

        und dann über

        $userstatus=get_userstatus();
        if($userstatus=0)
        {
        echo "Ich bin kein Admin";
        }
        else
        {
        echo "Ich bin ein Admin!";
        }

        das entsprechende ausgeben...
        Zuletzt geändert von wilkax; 27.03.2006, 19:04.

        Kommentar


        • #5
          um welche Spalte muss ich denn dann noch die DB erweitern????

          UNd wie kann man sich da jetzt regiestrieren???
          Zuletzt geändert von M4rc3l; 31.03.2006, 12:14.

          Kommentar

          Lädt...
          X