short question

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

  • short question

    User Offline kicken nach xx Minuten...

    müsste so klappen, oder?

    x = time() - zeitausDB

    y = x / 60

    wenn y größer als 20 (minuten) dann werden user offgekickt die länger als 20 minuten inaktiv waren ( in einer schleife )

    wenn y kleiner, dann neue zeit aktuallisieren

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

  • #2
    suchst du im tutorial-forum nach fragen zu meinem loginscript, da steht das drin *g*

    btw: noch aussagekräftiger ging der betreff nicht oder?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      warum machst du das nicht dirket mit der DB?

      ausserdem gibt es ein tut darüber. warum liest du das nciht durch?
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Original geschrieben von mrhappiness
        suchst du im tutorial-forum nach fragen zu meinem loginscript, da steht das drin *g*

        btw: noch aussagekräftiger ging der betreff nicht oder?
        öhm.. cheffe

        vielleicht hab ich mich zu undeutlich ausgedrückt

        das problem ist, dass user online angezeigt werden, wenn sie nicht auf "logout" drücken, um dagegenzuwirken, hab ich ein script, dass quasi fast überall aufgerufen wird, wenn EIN user sich bewegt, und diese User prüfen quasi, ob andere user schon länger als 20 minuten inaktiv waren, wenn ja, dann werden diese dann in der DB von online auf offline gestellt 1 zu 0.

        und das anfangsposting sollte, war mal ne frage, ob der rechenansatz so stimmt!? eigentlich scho? ;D

        Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
        sondern mit den Augen das Manual zu lesen.

        Kommentar


        • #5
          Original geschrieben von xManUx
          das problem ist, dass user online angezeigt werden, wenn sie nicht auf "logout" drücken,
          und warum passt du die anzeige query nciht auch dahingehend an, dass lastaction mit berücksichtigt wird?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            onlinecheck.php ( die oft includet wird )

            PHP-Code:

            <?
            ### Zeit die man bei Inaktivität Online bleibt. ###

              $online_dauer = 20; # in Minuten


             ### Datenbank fragen, ob dieser User überhaupt online ist ###

               $result = mysql_query("SELECT * FROM zonyuser WHERE nickname='$nickname'");
               while ( $profildaten = mysql_fetch_array( $result ) ) {  #schleife 1
                $online = $profildaten["online"];
                $neueid =$profildaten["id"];
                $neuernickname = $profildaten["nickname"]; } #schleife 1

                if ( $online == 0 )

                 {
                 ?> <META HTTP-EQUIV="refresh" CONTENT="0; URL=loginfehler.php"> <? die ("<font color=#2187F8 size=3><center>Du wirst umgeleitet, falls Dein Browser keine Umleitung unterstützt, klicke <a href='loginfehler.php'>hier.</a>");
                 }

                #### Alle User Prüfen, ob die Zeit abgelaufen ist und wenn ja,  ####
                #### Dann Offline kicken !! ####

               $result = mysql_query("SELECT * FROM zonyuser WHERE online='1' ORDER BY id");
               while ( $profildaten = mysql_fetch_array( $result ) ) { #schleife 2
                $timea = $profildaten["zeit"];
                 $ido = $profildaten["id"];

                  $x = time()-$timea;
                  $y = $x / 60;
                if ( $y > $online_dauer )
                  { #schleife 3

                 $sqlbefehl = "UPDATE zonyuser SET
                online='0',
                UserSession=NULL
                  WHERE id='$ido' limit 1;";
                    mysql_query($sqlbefehl, $db) or die(mysql_error());

                    } #schleife 3

                    } # schleife 2


                 ### prüfe nochmal, ob der User online ist! ###

                  ### Datenbank fragen, ob dieser User überhaupt online ist ###

               $result = mysql_query("SELECT * FROM zonyuser WHERE nickname='$neuernickname'");
               while ( $profildaten = mysql_fetch_array( $result ) ) {
                $online = $profildaten["online"]; }

                if ( $online == 0 )

                 {
                 ?> <META HTTP-EQUIV="refresh" CONTENT="0; URL=loginfehler.php"> <? die ("<font color=#2187F8 size=3><center>Du wirst umgeleitet, falls Dein Browser keine Umleitung unterstützt, klicke <a href='loginfehler.php'>hier.</a>");
                 }


              ### Nach dem wir das geklärt hätten gehts weiter... ###
              ### Wir aktuallisieren dem ONLINE User seine Zeit   ###

              ### Neue Zeit eintragen bzw. aktua. ###
              $news=time()+1*60;
             mysql_query("UPDATE zonyuser SET zeit='$news' WHERE id='$neueid' LIMIT 1",$db);

             $id = $neueid;
             $nickname = $neuernickname;

             ?>

            Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
            sondern mit den Augen das Manual zu lesen.

            Kommentar


            • #7
              Original geschrieben von xManUx
              onlinecheck.php ( die oft includet wird )
              und jetzt?
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                ist das nicht so, was du meintest?

                Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                sondern mit den Augen das Manual zu lesen.

                Kommentar


                • #9
                  nö.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    dann sag mal bitte..

                    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                    sondern mit den Augen das Manual zu lesen.

                    Kommentar


                    • #11
                      wieso. es steht doch im tut drin.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar

                      Lädt...
                      X