Counter

Status
Für weitere Antworten geschlossen.

duplex

Well-known member
hallo liebe php-profis,

ich bräuchte für meine seite einen counter, der die besuche der seite darstellt. leider kenn ich mich in php nicht so gut aus und die free-counters sind alle mit werbung die ich nicht haben will. vielleicht könnt ihr mir ja weiterhelfen.
vielen dank im vorraus.
die frabe der ziffern sollte schwarz sein.

greez duplex
 
hmmm.... ein simpler counter:

counter.php

PHP:
<?php 
if(is_file('cou.txt'))
{
  $fp = fopen("cou.txt","r-"); 
  fseek ($fp,0); 
  $wert = fread($fp,4096); 
  fclose ($fp);
} else { $wert=0; }
$wert = intval($wert); 
$wert++;
$wert = strval($wert); 
$fp = fopen("cou.txt","w+"); 
fwrite($fp,$wert); 
fclose($fp);
?>

in deiner index.php schreibst du nun an der stelle, wo der Counter sein soll:

PHP:
<?php
include("counter.php");
echo "Anz. Besucher: $wert";
?>

allerdings, kann mann durch den Aktualisieren-Button jetzt die Besucherzahlen nach oben treiben. Wenn du das nicht willst, müsstest du noch ein cookie setzen. Vielleicht meld ich mich dann nochmals, wenn ich mehr Zeit habe...
 
hm. danke für diene antwort. jetzt habe ich aber allerdings ein problem. meine index seite ist eine *.html! kann ich das irgendwie umgehen?

greez duplex
 
ja, einfach umbenennen in .php ;)

EDIT:
hab meinen code noch ein bisschen abgeändert... vieleicht nimmst du den neuen :rolleyes:

noch was, du solltest in dem Ordner, in dem sich diese Dateien befinden, Schreibrechte haben! , sonst geht es nicht.
 
woodooman schrieb:
ja, einfach umbenennen in .php ;)
so einfach? der restliche inhalt der *.index seite wird übernommen? sorry mit php kenn ich mich absolut nicht aus.
 
Beschreibung:
» PHP Erforderlich
» einfache Installation
» Design ist anpassbar

» Ip - Sperre
» Seitenaufrufe
» Online anzeige !New!

Einfach ein Ordner erstellen namens "Counter"

Dann folgende Dateien im Ordner einfügen:

counter.dat

useronline.dat

hits.txt

counter.php
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="11%" id="AutoNumber1">
<tr>
<td width="100%" bgcolor="#9DCDFD">
<p style="margin-top: 0; margin-bottom: 0" align="center"><font size="2"><b>
.::</b></font><b><font size="2"><span style="background-color: #9DCDFD">Statistik</span>::.</font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#CEE6FE"><?php include("func.php"); ?> </td>
</tr>
</table>

func.php
<b><?
$ip = getenv ("REMOTE_ADDR");
if( file_exists("ip/$ip.ip"))
{
$lesaus = file("counter.dat");
echo"$lesaus[0]";
}
else
{
$lesaus = file("counter.dat");
$lesaus[0]++;
$datei = fopen("counter.dat","r+");
$datenm="$lesaus[0]";
rewind($datei);
fwrite($datei,$datenm);
fclose($datei);
echo"$lesaus[0]";
$file = fopen("ip/$ip.ip","w+");
$datenm="$ip";
fwrite($file,$datenm);
fclose($file);
}

?>
Besucher
<p style="margin-top: 0; margin-bottom: 0">
<?php
$datei = "hits.txt";
if (file_exists($datei)) {
$oeffnen = fopen($datei, "r");
$zahl = fread($oeffnen, filesize($datei));
fclose($oeffnen);
print "$zahl Seitenaufrufe";
if (is_writeable($datei) && ($zahl>0)) {
$oeffnen = fopen($datei, "w");
$zahl++;
fwrite($oeffnen, $zahl);
fclose($oeffnen);
}
}

?>
<p style="margin-top: 0; margin-bottom: 0">
<?

echo '<body>';


$count=0;
$time = time();
$ip = getenv(REMOTE_ADDR);
$text=$time."#".$ip."\n";
$filename="useronline.dat";
$zeile = file($filename);

$fp = fopen($filename , "w");
ftruncate ($fp, 0);
rewind($fp);
foreach($zeile as $schreiben)
{
$array = explode("#",$schreiben);
if($ip==rtrim($array[1])){$vorhanden=1;}
if($array[0] > $time -600 & $ip!=$array[1])
{
fwrite ($fp, $schreiben, 750);
}
}
fclose($fp);

$id = filesize($filename);
if($vorhanden!=1 or $id==0){
$datei = fopen($filename,"a");
flock($datei,2);
fwrite($datei,$text,750);
flock($datei,3);
fclose($datei);
}




for($x=0;$x<count($zeile);$x++){$count=$count+1;}
echo '<font class=textus>'; echo $count;echo ' online</font>';

?>
 
@ restore
und was soll ich in meine index einfügen? ich mein welches bild, link oder was weiss ich???

greez duplex
 
duplex schrieb:
@ restore
und was soll ich in meine index einfügen? ich mein welches bild, link oder was weiss ich???

greez duplex

ich denke mal, du kannst alles, was bei counter.php steht, irgendwo in deiner index.php einfügen. (Anstelle einer eigenen Datei)
 
duplex schrieb:
@ restore
und was soll ich in meine index einfügen? ich mein welches bild, link oder was weiss ich???

greez duplex
Das was bei Counter.php steht, kommt in den Bodybereich:
Code:
<html>
<head>
<title>Titel</title>
</head>
<body>
Blabla<br>
Counter>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="11%" id="AutoNumber1">
<tr>
<td width="100%" bgcolor="#9DCDFD">
<p style="margin-top: 0; margin-bottom: 0" align="center"><font size="2"><b>
.::</b></font><b><font size="2"><span style="background-color: #9DCDFD">Statistik</span>::.</font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#CEE6FE"><?php include("func.php"); ?> </td>
</tr>
</table> 
</body>
</html>
Auf Deutsch,da wo dein Counter hinkommt, da schreibste den die Tabelle da hin.
 
ok das hat soweit alles wunderbar geklappt, nur er zählt nicht, geschweige denn es steht gar keine zahl da, nur "Statistik". darunter ist was frei für wahrscheinlich die besucherzahlen, mehr aber leider nicht.

danke schonmal für eure hilfe.

und wo kann man die besucherzahlen verändern? oder einstellen, dass sie nicht von null anfangen sollen?

greez duplex
 
Du musst auch die anderen Dateien mit Inhalt da haben, und das Zeug auf einem Server mit PHP haben, außerdem brauchen die Dateien Schreibrechte.
 
also folgendermaßen siehts aus:
hab den ordner "Counter" erstellt und die dateien erstellt, wie restore es gesagt hat. dann hab ich den ordner mit den dateien hochgeladen. dann ch mod 777 dem ordner und den dateien gegeben. jetz thab ich an der stelle wo ich den counter haben will das kästchen aber da sind keine ziffern drin. woran kann das liegen?

greez duplex
 
Rechte auf 777 müssen nicht geändert werden.
Zeig bitte mal also die URL wo du den Counter hast?
 
danke. hat sich erledigt. funktioniert super.

greez duplex
 
Kann ich es mal trotzdem sehen?Um weitere Bugs zu entfernen ;)
 
nein. seite ist mein geheimnis :)

hab folgendes gemacht:

1. counter.php mit folgendem inhalt erstellt:
Code:
<?
if (file_exists("counter.txt"))
{
$datei=fopen("counter.txt","r");
$zaehler=fgets($datei,255);
fclose($datei);
}
$zaehler++;
$datei=fopen("counter.txt","w");
fputs($datei,"$zaehler");
fclose($datei);
echo "<b>$zaehler.</b> Besucher";
?>

2. testdatei counter.txt mit folgendem inhalt erstellt:

Code:
0

so und dann nur noch auf der seite eingebunden.

da gibts keine bugs ;)

danke nochmal für eure hilfe.
es hat mir mal wieder gezeigt, dass ich php lernen muss ;)

greez duplex
 
sers,

ich bräuchte auch einen Counter aber etwas anders :D

Besucher Heute
Besucher Gestern
Z.zt. auf der Seite

mehr nit :D
 
Will hier jetzt jeder nen Counter ???
Naja, zu dem zur Zeit auf der Seite:
Bau den oben genannten Counter, und dann bau in deinen body-tag noch onabbort="abziehen.php" oder so ein, und da steht dann oben genanntes, nur statt zaehler++, zaehler--, so sollte es eigentlich gehen, schreiben darfst selber :D .
 
kurim schrieb:
sers,

ich bräuchte auch einen Counter aber etwas anders :D

Besucher Heute
Besucher Gestern
Z.zt. auf der Seite

mehr nit :D

haste php mit mysql? dann scribble ich dir eben einen!

Wenn kein MySQL sondern nur PHP: Frag wen anders, ich hasse fopen ^^

mfg telax
 
hab nochmal eine frage zu meinem counter: wie kann ich eine ip-sperre reinmachen? also ich mein, dass man nicht durch auf aktualisieren den counter in die höhe treiben kann?
in meiner counter.php datei steht folgendes:
Code:
<?
if (file_exists("counter.txt"))
{
$datei=fopen("counter.txt","r");
$zaehler=fgets($datei,255);
fclose($datei);
}
$zaehler++;
$datei=fopen("counter.txt","w");
fputs($datei,"$zaehler");
fclose($datei);
echo "<b>$zaehler.</b> Besucher";
?>

greez duplex
 
Status
Für weitere Antworten geschlossen.

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten