|
Emminger1
Betriebsnudel |
Der Counter gibt an, wieviele Besucher die Homepage schon hatte
Quellcode + Notizen Code: <?php //Dateiname fuer Besucherzahl $file = "counter.txt"; //Anzahl der Stellen fuer Besucheranzahl $stellen = 5; //Counter.txt wird ausgelesen und beinhaltender Wert um 1 erhoeht if(file_exists($file)) { $fp=fopen($file, "r+" ; $zahl=fgets($fp,$stellen); $zahl++; rewind($fp); flock($fp,2); fputs($fp,$zahl,$stellen); flock($fp,3); fclose($fp); } //Counter.txt existiert nicht; sie wird neu erstellt und beinhaltet den Wert 1 else{ $fp=fopen($file, "w" ; $zahl="1"; fputs($fp,$zahl,$stellen); fclose($fp); } //Formatierung der Funktion $zahl=sprintf("%0".$stellen."d",$zahl); ?> Einbau in Homepage Das File muss als .php gespeichert werden, damit das Script verarbeitet wird. Auf der Stelle einer Seite wo es angezeigt werden soll muss folgender Code platziert sein: Code: <?php include("../../scripte/counter/counter.php" ; echo "$zahl"; ?> In diesem Fall, steht "../../scripte/counter/counter.php" für die Quelle der Datei wo der oben angegeben Code enthalten ist. Styles Natürlich kann auch die Ausgabe verändert werden, um das ganze schöner aussehen zu lassen. Das ganze erfolgt durch HTML-Tags Code: <?php include("../../scripte/counter/counter.php" ; echo "<font size=2 color="'fff222">$zahl</font>"; ?> Ich hoffe er hilft euch weiter EDIT BY MOD: Bitte BB-Codes benutzen |
|
Michael
Ehrenmitglied |
Ich glaube das man so einen Counter nicht mehr haben will. Code is in ordnung, nur mit Textdateien arbeitet keiner mehr.
Ich habe hier mal einen Counter den ich in MySQL geschrieben habe mit Onlineanzeige: Code: <? /* create table `counter_online` ( `co_id` int ( 11 ) not null auto_increment, `co_date` datetime not null, `co_ip` varchar ( 15 ) not null, primary key (`co_id`) ) engine=myisam default charset = latin1 auto_increment = 1; create table `counter_ip` ( `co_id` int ( 11 ) not null auto_increment, `co_date` datetime not null, `co_ip` varchar ( 15 ) not null, primary key (`co_id`) ) engine=myisam default charset = latin1 auto_increment = 1; create table `counter_hits` ( `co_hits` int (10) not null ) engine=myisam; insert into counter_hits (co_hits) values ('0'); */ define(hostname, '127.0.0.1'); define(database, ''); define(username, ''); define(password, ''); mysql_connect(hostname, username, password) or die ('Fehler: '.mysql_errno().': '.mysql_error().'<br />'); mysql_select_db(database) or die ('Fehler: '.mysql_errno().': '.mysql_error().'<br />'); $settings->ip = $_SERVER['REMOTE_ADDR']; # Onlineanzeige mysql_query('delete from counter_online where date_sub(now(), interval 2 minute) > co_date'); # Besucheranzeige mysql_query('delete from counter_ip where date_sub(now(), interval 1 day) > co_date'); # Onlineanzeige $auswaehlen->online = mysql_query('select count(*) as co_anzahl from counter_online where co_ip = "'.$settings->ip.'"'); $ausgeben->online = mysql_fetch_array($auswaehlen->online); # Besucheranzeige $auswaehlen->ip = mysql_query('select * from counter_ip where co_ip = "'.$settings->ip.'"'); # Onlineanzeige if ($ausgeben->online['co_anzahl']) { mysql_query('update counter_online set co_date = now() where co_ip = "'.$settings->ip.'"'); } else { mysql_query('insert into counter_online set co_ip = "'.$settings->ip.'", co_date = now()'); } # Besucheranzeige if (mysql_num_rows($auswaehlen->ip) < 1) { mysql_query('update counter_hits set co_hits = co_hits + 1'); mysql_query('insert into counter_ip set co_ip = "'.$settings->ip.'", co_date = now()'); } # Onlineanzeige $auswaehlen->online = mysql_query('select count(*) as co_anzahl from counter_online'); $ausgeben->online = mysql_fetch_array($auswaehlen->online); # Besucheranzeige $auswaehlen->hits = mysql_query('select * from counter_hits'); $ausgeben->hits = mysql_fetch_array($auswaehlen->hits); echo ('Guten Tag, Sie sind der <u>'.$ausgeben->hits['co_hits'].'</u> Besucher hier. Online sind allerdings nur <u>'.$ausgeben->online['co_anzahl'].'</u>'); ?> |
| 1 Beitrag | Beitrag schreiben |