Emminger1
Betriebsnudel
- 13.01.08 20:12 Uhr
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
- 17.01.08 12:23 Uhr
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
©2010 Itschi.Net