User-online

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

  • User-online

    Moin!
    Ich habe versucht mir ein eigenes User-Online Script zu schreiben! Da ich allerdings keine Vorstellung hatte habe ich ein wenig im Forum gestöbert und habe dann einen Vorschlag von Schmalle gefunden! An dem habe ich mich dann orientiert!
    http://www.php-resource.de/forum/sho...ht=user+online
    Hier ist meine Idee! Wäre cool, wenn ihr mir sagen würdet ob das so funktioniert, oder ob ich damit probleme bekommen werde! Denn ich kann es momentan nur Offline darstellen und da sehe ich ja nicht wirklich ob es funktioniert! Also, hier ist mein Vorschlag:
    <html>
    <body>
    PHP-Code:
    <?php
        $ip 
    $REMOTE_ADDR;
        
        
    $db mysql_connect();
        
    $weg "delete from useronline where killtime < now() or name = '$un' or ip = '$ip'";
        
    $wegr mysql_db_query("try"$weg);
        
            
        if(!isset(
    $un))
        {
            
    $un "guest";
        }
        
    $time time() + 300;
        
    $killtime date("Y-m-d H:i:s",$time);
        
    $rein "insert useronline (name, ip, killtime) values ('$un', '$ip', '$killtime')";
        
    $reinr mysql_db_query("try"$rein);
        
        
        
    $wer "select name from useronline";
        
    $werr mysql_db_query("try"$wer);
        
    $wern mysql_num_rows($werr);

        
    $guest 0;
        for (
    $k=0$k $wern$k++)
        {
            
    $name mysql_result($werr$k"name");
            if (
    $name == "guest")
                
    $guest $guest 1;
            else
                echo 
    "$name  ";
        }
                    
        if (
    $guest $wern)
        {
            if (
    $guest && $guest 2)
                echo 
    "und <b>$guest</b> Gast";
            else
                echo 
    "und <b>$guest</b> Gäste";
        }
        else
        {
            
            if (
    $guest && $guest 2)
                echo 
    "<b>$guest</b> Gast";
            else
                echo 
    "<b>$guest</b> Gäste";
        }
                    echo 
    "online";
        
    mysql_close($db);
    ?>
    </body>
    </html>
    $un ist im übrigen der Username der in einem Cookie gespeichert ist!

    Danke für euere hilfe schon einmal im voraus!
    Rookie
    Zuletzt geändert von Rookie; 02.06.2002, 13:40.

  • #2
    Hat denn niemand einen Ratschlag für mich

    Rookie

    Kommentar


    • #3
      Ok, da niemand anderes antwortet werd' ich's mal machen.
      PHP-Code:
      //hier muss jetzt natürlich noch eine Art von
      //Passwort/Usernamen-Überprüfung realisieren


      if(!mysql_query("SELECT sessionhash FROM sessions WHERE sessionhash='".session_id()."'")) {
          
      mysql_query("INSERT INTO sessions (sessionhash, username, aktuelleseite, killtime) VALUES ('".session_id()."','{$_SESSION[un]}','{$_SERVER[PHP_SELF]}', now() + 3600)");
      } else {
          
      mysql_query("UPDATE sessions SET killtime = now() + 3600, aktuelleseite = '{$_SERVER[PHP_SELF]}'");
      };

      //löschen der alten Sessions
      mysql_query("DELETE FROM sessions WHERE killtime > now()");
      $resource mysql_query("SELECT count(*) AS usersonline FROM sessions");
      list(
      $usersonline) = mysql_fetch_array($resource);
      echo 
      "Es sind $usersonline online."
      edit: Code zum löschen von alten Sessions hinzugefügt. Sonst wird ja die DB zugemüllt.
      Zuletzt geändert von Nezzar; 03.06.2002, 16:51.
      "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

      Kommentar


      • #4
        Hey Nezzar!!
        Vielen Dank für deine hilfe!
        Sag mal, willst du damit sagen, dass mein Versuch nicht so geil ist und ich lieber deins übernehmen soll, oder wie jetzt!

        Was soll eigentlich sessionhash sein??? Rein nach der Übersetzung wäre es ja im weitesten Sinne ein Session nummer (oder nicht? ). Welche Session wäre denn damit gemeint???

        Nochmals Danke

        Rookie

        Kommentar


        • #5
          Deine Lösung müsste soweit funktionieren (habe keinen offensichtlichen Fehler gefunden), ich wollt nur mal Kund tun wie ich's gelöst hab
          $sessionhash ist das was session_id() zurückgibt, die Session-ID eben. Hab ich jetzt nur als "Universal-Variable" benutzt um klarzumachen, dass ich die Session-ID meine.
          "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

          Kommentar


          • #6
            Alles klar Mann! Vielen Dank!!! Ich werd deine Lösung auch nochmal ausprobieren!!! Aber wenn meine Klappen sollte, werd ích trotzdem bei meiner Version bleiben!!!!

            Rookie

            Kommentar

            Lädt...
            X