Tutorials

Besucheronline Anzeige Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
Besucheronline Anzeige
.

4168 - ntmb - 20.05.2006 09:13 Uhr - Version: 2 - - verlinken als BB-Code


Hallo,
in diesen Tutorial werde ich euch versuchen euch zu erklären, wie ihr euer eigene Besucheronline Anzeige programmieren könnt.

So als erstens müsst ihr eine Datenbank erstellen, dies ist dafür wird damit man halt die jeweiligen Besucher dort eintragen kann.
1
2
mysql_connect("%Serverhost%","%Username%","%Passwort%");
mysql_select_db("%Datenbank%");


Den %Serverhost% brauchst du, um dem Server zu sagen welchen Host er verwenden soll, in den meisten Fällen ist es localhost, bei %Username% musst du dein Mysql Benutername eingeben und bei %Passwort% musst du logischerweise das Password vom Mysql Benutername eingeben. Bei %Datenbank% musst du angeben welche Datenbank von dem Mysqlserver verwendet werden soll.


Jetzt musst du wie folgt eine Datenbank erstellen, dies machst du so, indem du dich bei deinem Phpmyadmin einloggst und in die Datenbank gehst, die du als %Datenbank% angeben hast. Anschließend gehst du auf SQL und fügst folgenden SQL-Befehle ein:
1
2
3
4
5
6
CREATE TABLE `online_script` (
  `id` int(5) NOT NULL auto_increment,
  `ip` char(15) collate latin1_german2_ci NOT NULL default '0',
  `time` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
);

Die Datenbank musst deshalb so gemacht werden, weil bei diesem Script eine Spalte benötigt wird, die dafür gedacht ist die IP des Besucher zu speichern, um die andere dafür zum anzeigen, wann er zum letzten mal Die Seite besucht hat.

Nun kommt die Stelle, wo es ein bisschen schwerer wird und zwar muss man jetzt ein script werden, dass den Besucher in die Datenbank aufnimmt, wenn er noch mit seiner ip dort noch nicht vorhanden ist und wenn er doch in der Datenbank vorhanden ist, dann wird bei der Spalte time ein update gemacht wo die aktuelle Zeit ist.
1
2
3
4
5
$date=time();
$selecto=mysql_query("SELECT id FROM online_script WHERE ip='$_SERVER[REMOTE_ADDR]'");
$mengeo=mysql_num_rows($selecto);
if($mengeo < 1){ mysql_query("INSERT INTO online_script(ip,time) VALUES('$_SERVER[REMOTE_ADDR]','$date');"); }
else{ mysql_query("UPDATE online_script SET time='$date' Where ip='$_SERVER[REMOTE_ADDR]'"); }
Zur Erklärung hier wird als erstens der Befehl time(); verwendet um die aktuelle Zeit darzustellen darauf wird eine Abfrage gemacht ob du schonmal auf dieser Seite mit deiner aktuellen Ip warst, wenn du noch nicht auf der Seite warst, dann wird ein Datenbank Satz eingefür Sprich mysql_query("INSERT INTO online_script(ip,time,typ) VALUES('$_SERVER[REMOTE_ADDR]','$date' Smily NR:7 ;" Smily NR:7 ;, aber wenn du schonmal auf der Seite warst, mit deiner aktuellen Ip, dann wird die Zeit aktualisiert; dies sieht dann so aus:
UPDATE online_script SET time='$date' Where ip='$_SERVER[REMOTE_ADDR]'" Smily NR:7 ;

Schließlich kommt noch der letzte Teil, der dafür ist im auszulesen vieviele Besucher gerade online sind, dies funktioniert zwar so, dass von der Spalte, die Datenbanken gezählt werden, die eine Zeit größer haben, als die Zeit vor 10 Minuten; und zwar wird dies so gemacht indem man eine Frage abschickt abtuelle Zeit-600.
1
2
3
$eextra=$date-600; //vor 10 min
$useron=mysql_num_rows(mysql_query("SELECT * FROM online_script WHERE time>='$eextra';"));
echo "$useron";


So nun seit ihr schließlich fertig. Smily NR:8
Hier ist nochmal der ganze Php-Code nochmal zusammen gefügt:
1
2
3
4
5
6
7
8
9
10
11
12
<?
mysql_connect
("%Serverhost%","%Username%","%Passwort%");
mysql_select_db("%Datenbank%");
$date=time();
$selecto=mysql_query("SELECT id FROM online_script WHERE ip='$_SERVER[REMOTE_ADDR]'"); 
$mengeo=mysql_num_rows($selecto); 
if(
$mengeo 1){ mysql_query("INSERT INTO online_script(ip,time) VALUES('$_SERVER[REMOTE_ADDR]','$date');"); } 
else{ 
mysql_query("UPDATE online_script SET time='$date' Where ip='$_SERVER[REMOTE_ADDR]'"); } 
$eextra=$date-600//vor 10 min
$useron=mysql_num_rows(mysql_query("SELECT * FROM online_script WHERE time>='$eextra';"));
echo 
"$useron";
?>


Wenn du willst, dass in der Datenbank Ordnung herrscht, dan erstelle eine Datei und lass diese per Cronjob ausführen, ich kann dir diese Seite dafür empfehlen http://cron-job.org.
1
2
3
4
5
6
7
<?
mysql_connect
("%Serverhost%","%Username%","%Passwort%");
mysql_select_db("%Datenbank%");
$time=time();
$timeab=$time-720//12min
mysql_query("DELETE FROM online_script WHERE time<='$timeab'");
?>
Erklärung: Dieses Script funktioniert so und zwar werden alle Spalten gelöscht, die älter als 12 Minuten sind ohne Aktualisierung.


So ich denkemal, dass ich euch mit diesem Script weiterhelfen konnte und ihr es nun auch nachvollziehen könnt, wie dieses Script aufgebaut ist. Mich würde es freuen, wenn ihre eure Meinung als Kommenatar, hier zu diesem Tutorals abgibt; mir ist es vor allem wichtig, dass ihr schreibt ob dieses Tutorial hilfreich war oder eher nicht so sehr.

Mfg ntmb

Mitglieder-Kommentare


#4 von Niclas
funktioniert alles danke
#3 von Caint
hätte nich gedacht dass es doch so einfach is, danke Smily NR:7
#2 von webmix
Script funktioniert 1A und wurde auch gut erklärt! Smily NR:2
#1 von War Master
Man kann es bestimmt gut gebrauchen

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)