BlackBoard » Sonstiges » Bildung » PHP Wieviele sind Online » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Wieviele sind Online
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Sebat Sebat ist männlich
BlackBoarder


Dabei seit: 28.11.2001
Beiträge: 789
Herkunft: Berlin

Wieviele sind Online       Zum Anfang der Seite springen

##########################################################
# Anzeigen vieviel auf einer Seite online sind #
# Original: gibt es hier #
# Beispiel: gibt es hier #
# Von Sebat <"Sebat@TalkBoard.de"> #
# Verfasst am 01.01.2003 um 23.36 UHR GMT +1 #
##########################################################

##########################################################
# Was Ihr dafür benötigt #
##########################################################

+ MySQL
+ PhPmyAdmin (Optional)
+ Webserver mit PhP unterstützung


##########################################################
# Erstellen der Datenbanken #
##########################################################

+ Wir brauchen eine neue Tabelle namens "online" diese erstellen wir in unserer Datenbank.
|
+-+ In dieser Tabelle erstellen wir 3 Felder
|
+-+ 1. Name "ID" typ "int" länge *frei wählbar* auto_increment Primärschlüssel
+ 2. Name "IP" typ "vchar" länge *frei wählbar mind. 15*
+ 3. Name "zeit" typ "int" länge "20"

##########################################################
# benötigte PhP Datein #
##########################################################

+ connect.php *Enthält MySql Informationen*
+ online.php *quell code für online*

##########################################################
# Connect.php #
##########################################################

php:
1:
2:
3:
4:
<?
    mysql_connect("localhost","BENUTZERNAME","PASSWORT");
    mysql_select_db("DATENBANK");
  ?>


> localhost = Adresse des Datenbankservers (meist Localhost)
> BENUTZERNAME = Benutzername zum DB-Server
> PASSWORT = Passwort zum DB-Server
> DATENBANK = Name der Datenbank

##########################################################
# online.php #
##########################################################

php:
1:
2:
3:
4:
<?
include ('connect.php');
$time = time();
$ip = $REMOTE_ADDR;


> Ermittelt die Zeit und die IP Adresse und bindet die connect.php ein

php:
1:
2:
3:
$registriert mysql_query("SELECT COUNT(*) FROM `online` WHERE IP = '$ip'"); 
$reg mysql_fetch_row($registriert); 
$set $reg[0];


> schaut ob es schon einen eintrag mit der ip adresse (also den user) gibt und setzt das ergebnis in $set

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
if($set == "0") 
{ 
mysql_query("INSERT INTO `online` (`ID`, `IP`, `zeit`) VALUES ('', '$ip', '$time')"); 

} 

> wenn $set 0 ist (also kein Eintrag da istwerden die aktuellen daten in die DB geschrieben

else 
{ 
mysql_query("UPDATE `online` SET `zeit` = '$time' WHERE `IP` = '$ip'"); 
}


> wenn es aber schon einen gibt wird die Zeit "verlängert" also aktualisiert

php:
1:
$time_new $time-300;


> Rechnet die aktuelle Zeit um 300 sekunden zurück (die Zeit die die user online bleiben auch wenn sie nix auf der Seite machen


php:
1:
mysql_query("DELETE FROM `online` WHERE `zeit` < '$time_new'");

$anz_gesamt = mysql_query("SELECT COUNT(*) FROM `online`");
$online_gesamt = mysql_fetch_row($anz_gesamt);

> Zuerst werden alle einträge gelöscht deren Zeit kleiner als die aktuelle Zeit - 300 ist
> Ließt die anzahl der aktuellen einträge aus

##########################################################
# letzte anpassungen #
##########################################################

Einfach die Datei via Include einbinden in die endgültige datei und an gegebener stelle ausgeben lassen mit $online_gesamt[0]

Beispiel:
php:
1:
echo "Zur Zeit bewegen sich $online_gesamt[0] User auf dieser Seite";


##########################################################
# Anmerkungen #
##########################################################

durch ein paar änderungen / zusätze kann aus diesem Wieviele sind on auch ein Wer ist wo werden!
Naja wie ihr mich kennt Alle Rechtschreibfehler dürfen behalten werden.

CU Sebat

Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Sebat: 02.01.2004 00:17.

02.01.2004 00:07 Sebat ist offline Beiträge von Sebat suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Sonstiges » Bildung » PHP Wieviele sind Online

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH