Hio PHP-Checker :*)
Ich bin dabei eine Community zu coden, die eigentlich auch schon fast fertig ist und auch so fehlerfrei funktioniert. Irgendwie bin ich heute der Logik nicht ganz Herr! Würde mich freuen, wenn ihr mir da bisschen abhelfen könntet. Es geht hier nicht darum, wieviele User online sind.. Sondern es soll geprüft werden, ob User länger inaktiv waren, wenn ja, dann sollen die jenigen nach der festgelegten Zeit auf "Offline" gestellt werden. Sind sie offline, werden sie automatisch umgeleitet.
Problem:
Ich bin mit der Time() Funktion irgendwie in Konflikt geraten bzw. sie zu vergleichen zwecks Inaktivität zu prüfen. Ich liste hier jetzt 2 PHP Codes ein..
1. Das ganze Prüf-Script ( Übrigens selber geschrieben )
zu 1. muss ich noch hinzufügen, dass das Script includet wird und der Befehl $DB festgelegt ist, an einer Fehlermeldung liegts nicht, sondern komm grad mit der 'Logik' nicht klar!
2. Wo ich hängen bleib ( wegen der Logik )
1.)
2.
Hier ein Plus oder Minus ?
Größer oder Kleiner??
Hier ein Plus oder Minus, oder gar nix??( Im Login natürlich auch... )
Ich bedank mich bei allen im voraus, die mir helfen... Wer möchte, kann dann das verbesserte Script gerne bei sich verwenden
Ich bin dabei eine Community zu coden, die eigentlich auch schon fast fertig ist und auch so fehlerfrei funktioniert. Irgendwie bin ich heute der Logik nicht ganz Herr! Würde mich freuen, wenn ihr mir da bisschen abhelfen könntet. Es geht hier nicht darum, wieviele User online sind.. Sondern es soll geprüft werden, ob User länger inaktiv waren, wenn ja, dann sollen die jenigen nach der festgelegten Zeit auf "Offline" gestellt werden. Sind sie offline, werden sie automatisch umgeleitet.
Problem:
Ich bin mit der Time() Funktion irgendwie in Konflikt geraten bzw. sie zu vergleichen zwecks Inaktivität zu prüfen. Ich liste hier jetzt 2 PHP Codes ein..
1. Das ganze Prüf-Script ( Übrigens selber geschrieben )
zu 1. muss ich noch hinzufügen, dass das Script includet wird und der Befehl $DB festgelegt ist, an einer Fehlermeldung liegts nicht, sondern komm grad mit der 'Logik' nicht klar!
2. Wo ich hängen bleib ( wegen der Logik )
1.)
PHP-Code:
<?php
############# Dieses Script ist ein weiter Schutz und Onlinefähigkeit zugleich ##############
### Zeit die man bei Inaktivität Online bleibt. ###
$online_dauer = 60;
### Datenbank fragen, ob dieser User überhaupt online ist ###
$result = mysql_query("SELECT * FROM user WHERE nickname='$nickname'");
while ( $profildaten = mysql_fetch_array( $result ) ) {
$online = $profildaten["online"];
$neueid =$profildaten["id"];
$neuernickname = $profildaten["nickname"]; }
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 !! ####
## Zuerst Time umwandeln! ##
$abgelaufen = time()-$online_dauer;
## Alle abfragen und evtl. offline kicken ##
$result = mysql_query("SELECT * FROM user ORDER BY id");
while ( $profildaten = mysql_fetch_array( $result ) ) {
$time = $profildaten["time"];
$id = $profildaten["id"];
if ( $time > $abgelaufen )
{
$sqlbefehl = "UPDATE user SET
online='0'
WHERE id='$id' limit 1;";
mysql_query($sqlbefehl, $db) or die(mysql_error()); }
}
### Wir prüfen nochmal, ob der User online ist! ###
### Datenbank fragen, ob dieser User überhaupt online ist ###
$result = mysql_query("SELECT * FROM user 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 ###
### Zeitaktuallisieren ###
$neuezeit = time()+$online_dauer;
### Neue Zeit eintragen ###
mysql_query("UPDATE user SET zeit='$neuezeit' WHERE id='$neueid' LIMIT 1",$db);
$id = $neueid;
$nickname = $neuernickname;
?>
PHP-Code:
### Zeit-Festlegung ###
$abgelaufen = time()-$online_dauer;
PHP-Code:
### Prüfen ob Zeit abgelaufen ist ###
if ( $time > $abgelaufen )
PHP-Code:
### Zeitaktuallisieren ###
$neuezeit = time()+$online_dauer;
Ich bedank mich bei allen im voraus, die mir helfen... Wer möchte, kann dann das verbesserte Script gerne bei sich verwenden
Kommentar