+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Benutzerdaten-Abfrage per MySQL

  1. #1
    Neu an Board
    Registriert seit
    31.12.2008
    Beiträge
    6
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Benutzerdaten-Abfrage per MySQL

    Hallo, ich habe nach langem Basteln ein Script erstellt, welches ermöglicht, dass man Benutzerdaten von Joomla in einer .php Datei auswerfen kann.
    Das Script sieht folgendermaßen aus:
    PHP-Code:
    <html>
    <?
    $db 
    mysql_connect(host,benutzername,passwort);
    $res mysql_db_query("datenbankname""select * from jos_users where id =62");
    $num mysql_num_rows($res);
    echo 
    "<table border>";
    echo 
    "<tr> <td>Identifikationsnummer</td> <td>Benutzername </td>";
    echo 
    "<td>Vorname</td> <td>E-Mail Adresse</td>";
    echo 
    "<td>Rang</td> <td>Registrierungsdatum</td>";
      
       for (
    $i=0$i<$num$i++)
       {
          
    $id mysql_result($res$i"id");
          
    $un mysql_result($res$i"username");
          
    $na mysql_result($res$i"name");
          
    $em mysql_result($res$i"email");
          
    $ut mysql_result($res$i"usertype");
          
    $rd mysql_result($res$i"registerDate");

          echo 
    "<tr> <td>$id</td> <td>$un</td> <td>$na</td>";
          echo 
    "<td>$em</td> <td>$ut</td> <td>$rd</td> </tr>";
       }


       echo 
    "</table>";

       
    mysql_close($db);
    ?>
    Mein Problem ist es jetzt, dass ich das für jeden momentan auf meiner Seite eingeloggten User haben möchte, aber das Script nur den User mit der ID 62 anzeigt.
    Wie kriege ich das hin, dass die ID automatisch von dem User der gerade eingeloggt ist ermittelt wird?

    Ich danke für eure Ratschläge.
    Frohes neues Jahr!

  2. #2
    Verbringt hier viel Zeit
    Registriert seit
    31.05.2008
    Beiträge
    801
    Bedankte sich
    0
    Erhielt 268 Danksagungen
    in 214 Beiträgen

    Standard

    Schau mal was du hier erhälst:

    PHP-Code:
    global $my;
    print_r($my);
    exit(); 
    lg Måria

  3. #3
    Neu an Board
    Registriert seit
    31.12.2008
    Beiträge
    6
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich weiß nicht so recht wie ich das einbinden soll.
    Habs mal oben reingeklatscht und kriege nen Fehler angezeigt
    Code:
    Warning: include(Resource id #2) [function.include]: failed to open stream: No such file or directory in ...moep.php on line 10
    
    Warning: include() [function.include]: Failed opening 'Resource id #2' for inclusion (include_path='.:') in ...moep.php on line 10
    
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...moep.php on line 12

  4. #4
    Kommt häufiger vorbei
    Registriert seit
    23.10.2006
    Beiträge
    261
    Bedankte sich
    3
    Erhielt 70 Danksagungen
    in 67 Beiträgen

    Standard

    Hi,
    Zitat Zitat von devorce Beitrag anzeigen
    Hallo, ich habe nach langem Basteln ein Script erstellt, welches ermöglicht, dass man Benutzerdaten von Joomla in einer .php Datei auswerfen kann.
    Wenn du es selbstgebastelt hättest, würdest du sofort sehen, warum nur der User mit der ID 62 ausgeworfen wird:

    Zitat Zitat von devorce
    where id =62"
    ...

    Aber nur so nebenbei. Aus der Tabelle jos_users wirst du keine Informationen darüber bekommen, wer gerade eingeloggt ist. Du erhälst darauf gerade mal Informationen, wann ein User das letzte mal eingeloggt ist.
    Die Tabelle die dich interessiert heißt jos_sessions. Und da steht es eigentlich schon fast drin, welcher User eingeloggt ist.

    Ich gebe dir noch ein Tipp: Gucke dir mal das Onlinemodul an ( mod_online ). Da findest du eine Abfrage, wo die Anzahl der eingeloggten User gezählt wird. Du musst jetzt aber nicht die Anzahl auswählen, sondern zum Beispiel den Usernamen.

    Mit freundlichen Grüßen
    Flobbie

    Frohes Neues Jahr außerdem.

  5. #5
    Kommt häufiger vorbei
    Registriert seit
    28.06.2008
    Beiträge
    258
    Bedankte sich
    10
    Erhielt 28 Danksagungen
    in 26 Beiträgen

    Standard

    vieleicht hilft dir diese seite weiter.......

    http://docs.joomla.org/JFactory/getUser

    http://docs.joomla.org/JUser

  6. #6
    Neu an Board
    Registriert seit
    31.12.2008
    Beiträge
    6
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Zitat Zitat von flobbie Beitrag anzeigen
    Hi,

    Wenn du es selbstgebastelt hättest, würdest du sofort sehen, warum nur der User mit der ID 62 ausgeworfen wird:
    Ich weiß dass user mit der ID 62 ausgeworfen wird. Und deshalb frage ich hier, ob es eine Möglichkeit gibt den aktuell eingeloggten user auszuwerfen. Wie das geht weiß ich nicht, das war ja meine Frage.

    Vielen Dank

  7. #7
    Kommt häufiger vorbei
    Registriert seit
    23.10.2006
    Beiträge
    261
    Bedankte sich
    3
    Erhielt 70 Danksagungen
    in 67 Beiträgen

    Standard

    Hi,
    sind beides Links für 1.5.

    Dann ist es wie Maria sagt:
    PHP-Code:
    $my->username
    Wenn du das richtig einfügt erhälst du den Usernamen.
    Und mit
    PHP-Code:
    if ( $my->id ) { 
    kannst du abfragen, ob ein User eingeloggt ist.

    Mit freundlichen Grüßen
    Flobbie

  8. #8
    Neu an Board
    Registriert seit
    31.12.2008
    Beiträge
    6
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Klingt gut, nur wie binde ich das in mein Script ein?
    PHP-Code:
    $res mysql_db_query("datenbankname""select * from jos_users where id =62"); 
    direkt darein anstatt der 62 würde nicht gehen...

    Habe gerade mal ein PHP-Buch durch

  9. #9
    Verbringt hier viel Zeit
    Registriert seit
    31.05.2008
    Beiträge
    801
    Bedankte sich
    0
    Erhielt 268 Danksagungen
    in 214 Beiträgen

    Standard

    Alle Informationen, die du brauchst sind in $my enthalten. Schau doch einfach mal, was print_r() macht. (Es zeigt dir salopp gesagt alles an, was in der Variable "steckt").

    Nun kannst du dann jeweils auf die Sachen zugreifen. Du brauchst keinerlei Datenbankabfragen oder sonstige Sachen, alles streckt in $my.

    Code:
    mosUser Object
    (
        [id] => 62
        [name] => Administrator
        [username] => admin
        [email] => email@example.com
        [password] => 
        [usertype] => Super Administrator
        [block] => 0
        [sendEmail] => 1
        [gid] => 2
        [registerDate] => 2008-08-24 22:36:41
        [lastvisitDate] => 2009-01-01 03:48:05
        [activation] => 
        [params] => editor=
    expired=
    expired_time=
        [_tbl] => #__users
        [_tbl_key] => id
        [_error] => 
        [_db] => mlDatabase Object
            (
                [_mlTableList] => Array
                    (
                        [0] => content
                    )
    
                [_refTables] => Array
                    (
                        [fieldTablePairs] => Array
                            (
                            )
    
                        [tableAliases] => Array
                            (
                            )
    
                        [fieldAliases] => Array
                            (
                            )
    
                        [fieldTableAliasData] => Array
                            (
                            )
    
                        [fieldCount] => 4
                        [sql] => SELECT folder, element, published, params
     FROM jos_mambots
     WHERE access <= 2
     AND folder = 'content'
     ORDER BY ordering
                    )
    
                [_sql] => SELECT folder, element, published, params
     FROM jos_mambots
     WHERE access <= 2
     AND folder = 'content'
     ORDER BY ordering
                [_errorNum] => 0
                [_errorMsg] => 
                [_table_prefix] => jos_
                [_resource] => Resource id #28
                [_cursor] => Resource id #55
                [_debug] => 0
                [_limit] => 0
                [_offset] => 0
                [_ticker] => 0
                [_log] => Array
                    (
                    )
    
                [_nullDate] => 0000-00-00 00:00:00
                [_nameQuote] => `
            )
    
    )
    Nun kannst du jeweils auf die Objekte zugreifen:

    PHP-Code:
    echo $my->get('name'); // würde in dem Fall "Administrator" ausgeben
    echo $my->get('username'); // würde in dem Fall "admin" ausgeben
    echo $my->get('email'); // würde in dem Fall "email@example.com" ausgeben
    etc
    lg Måria

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein