tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
261
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Henselmania
    Henselmania Henselmania ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    66
    Hallo Leute,
    ich habe ein kleines Problem und ich komm irgendwie nicht dahinter...
    Aber sicher könnt ihr mir helfen.

    Zum Problem:
    Ich habe einen Login bereich mit Sessions erstellt das Funktioniert auch alles super.
    Doch nun wollte ich eine Anzeige einbauen so das alle Eingeloggten User auch sehen wer noch ON ist.

    Dazu habe ich hier im Forum schon was nettes gefunden. Doch bekomme ich es einfach nicht hin.
    Das Probelm ist das er mir keinen Timestamp in die DB schreibt bzw. auch nicht ausliest.

    Hier meine Daten:
    Mysql Tabellenstruktur
    #
    # Tabellenstruktur für Tabelle `benutzerdaten`
    #

    CREATE TABLE benutzerdaten (
    Id int(11) NOT NULL auto_increment,
    Nickname varchar(50) NOT NULL default '',
    Kennwort varchar(50) NOT NULL default '',
    Nachname varchar(50) NOT NULL default '',
    Vorname varchar(50) NOT NULL default '',
    Mail varchar(50) NOT NULL default '',
    Online int(11) NOT NULL,
    PRIMARY KEY (Id)
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

    online.php
    PHP-Code:
    <?php 
    include ("checkuser.php");

    $userid $_SESSION["user_id"];
    if(!empty(
    $userid)) {  ?>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <?

      $db 
    mysql_connect(localhost,xxx,xxx);
      
    mysql_select_db(xxx,$db);
      
    $time time();
      
    $onlineborder $time - (60);
      
    $onlineborder2 $time + (10 60);
      
    $onlinemysql_query("SELECT COUNT(*) FROM benutzerdaten WHERE Online >= '$onlineborder' and Online <= '$onlineborder2'");
      
    $online mysql_fetch_row($online);
      
    $query "SELECT Nickname FROM benutzerdaten WHERE Online >= '$onlineborder' and Online <= '$onlineborder2'";
      
    $result mysql_query($query,$db);
      while (
    $row mysql_fetch_array($result,MYSQL_ASSOC))

     

      echo 
    "<font size=1>".$row["Nickname"]."</font> <br>";

    ?>

    </body>
    </html>
    Hier sollte er die Timestamps berechnen und mir die Nicknamen von den Online Usern ausgeben aber er liest garnichts aus. Leider.

    intern.php
    PHP-Code:
    <?php 
    include ("checkuser.php"); 

    $db mysql_connect(localhost,xxx,xxx);
    mysql_select_db(xxx,$db);

    $userid $_SESSION["user_id"];
    $time time();
    if(!empty(
    $userid)) {

    $userProfile mysql_fetch_array(mysql_query("SELECT * FROM benutzerdaten WHERE Id = '$userid'"));

    $sql "UPDATE benutzerdaten SET Online='$time' WHERE Id='$user_id'";
    $result mysql_query($sql,$db);

    }

    mysql_close($db);
            
    ?> 

    <html> 
    <head> 
      <title>Interne Seite</title> 
    </head> 
    <body>
    Hier soll er den Timestamp in die DB eintragen passend zur User_ID


    Hoffe auf schnelle Hilfe. Thx
     
    Man(n) kann nicht alles wissen !
    Macht aber auch nichts !

  2. #2
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    error_reporting(E_ALL)
    mysql_error()
    Beide sollten Dir einen Hinweis bzw. einen Fehler melden.

    Was hast Du mit der Variable $userProfil vor?
    Die nutzt Du ja nirgends.
    Wo definierst Du die Variable $user_id?

    Und zum auswählen der Datensätze zwischen 2 Werten benutzt man eigentlich BETWEEN..... aber egal, sollte so auch funktionieren.

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  3. #3
    Avatar von Henselmania
    Henselmania Henselmania ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    66
    Zitat Zitat von Dr Dau Beitrag anzeigen
    Was hast Du mit der Variable $userProfil vor?
    Die nutzt Du ja nirgends.
    Wo definierst Du die Variable $user_id?
    $userProfil habe ich nur drin da ich da ja irgendwas brauche
    $user_id an diese Variable übergebe ich die Session_User_ID aus meinen Login Script.

    Das Funktioniert ja auch alles.

    Doch jetzt habe ich mal eine Fehlermeldung bekommen und zwar sagt er No database selected doch ich weis nicht woran es liegen kann ist meiner Meinung alles richtig.

    Die DB Verbindung ist doch so richtig oder ?
    $db = mysql_connect(localhost,username,passwort);
    mysql_select_db(datenabnk,$db);
     
    Man(n) kann nicht alles wissen !
    Macht aber auch nichts !

  4. #4
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Zitat Zitat von Henselmania Beitrag anzeigen
    $userProfil habe ich nur drin da ich da ja irgendwas brauche
    Davon ist in dem Script aber nichts zu sehen.
    Zitat Zitat von Henselmania Beitrag anzeigen
    $user_id an diese Variable übergebe ich die Session_User_ID aus meinen Login Script.
    Falsch, Du übergibst die ID aus der Session an die Variable $userid.
    Im UPDATE-Query hast Du aber die Variable $user_id stehen.
    Zitat Zitat von Henselmania Beitrag anzeigen
    Die DB Verbindung ist doch so richtig oder ?
    $db = mysql_connect(localhost,username,passwort);
    mysql_select_db(datenabnk,$db);
    Da die Angaben keine Variablen sind, sondern Strings, müssen sie auch als solche gekennzeichet sein (Anführungsstriche).
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  5. #5
    Avatar von Henselmania
    Henselmania Henselmania ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    66
    Hab das Probelm erkannt. Danke Dr. Dau
     
    Man(n) kann nicht alles wissen !
    Macht aber auch nichts !

Ähnliche Themen

  1. WER ist gerade online anzeige
    Von marvinlol im Forum PHP
    Antworten: 28
    Letzter Beitrag: 29.07.09, 12:55
  2. Wer ist Online - Anzeige
    Von j cop im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.09.05, 21:50
  3. Online-Anzeige
    Von das_element im Forum PHP
    Antworten: 6
    Letzter Beitrag: 28.08.05, 13:39
  4. Server-Online anzeige
    Von Crowner im Forum HTML & XHTML
    Antworten: 9
    Letzter Beitrag: 04.07.04, 15:39
  5. Anzeige ob ein User Online ist
    Von Nitromaus im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.05.02, 16:17