Script zum Zählen von Besuchern

Bash, Shell, PHP, Python, Perl, CGI
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Script zum Zählen von Besuchern

Post by schnuffel »

Hallo ich mache ja meine ersten Gehversuche in php
Ich habe da ein kleines Script, welches mir die Besucher zählen soll.

Code: Select all

<?
$datei = fopen("counter.txt","r+"); 
$counter_alt = fgets($datei, 10);

{
$counter_alt++;
rewind($datei);
fwrite($datei, $counter_alt);
}

fclose($datei);
echo $counter_alt; 
?>
so ich möchte das ganze in meiner index.html einbinden
Wenn ich in einer php datei folgendes stehen habe

Code: Select all

  //Counter

include ('../counter/counter.php');
geht das einwandfrei. aber wie und an welcher stelle muß ich das ganz in eine .html datei einbinden damit es auch funktioniert?
Ich habe es mehrfach versucht, aber nicht verstanden.

Danke schon mal schnuff
zakmc
Posts: 22
Joined: 2003-03-04 22:30

Re: Script zum Zählen von Besuchern

Post by zakmc »

in eine html geht das nicht, denn wie die endung schon sagt html und nicht php!!! Die datei muss auf php enden damit er Deinen Code interpretieren kann. Wenn die aber unbedingt html heissen muss, dann kannst Du mit htaccess dem Apache sagen, das er html auch mit dem PHP-Parser behandeln soll.
static
Posts: 437
Joined: 2002-10-27 19:56
Location: Schweiz

Re: Script zum Zählen von Besuchern

Post by static »

Hi,
warum benennst du die index.html nicht einfach in index.php um? Dann wird die Datei auch durch den PHP Parser gejagt und der include cmd wird ausgeführt. Also einfach dort wo dann die Ausgabe des Counters stehen soll

Code: Select all

<?php
include ('../counter/counter.php');
?>
Ach ja, haben die geschweiften Klammern in der counter.php irgendeinen tieferen Sinn :wink: ?

so long
static
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

Danke für eure Hilfe, Ich habe die die index in php umbenannt und nun klappt es.

Danke schnuff
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

Guten Morgen.
Danke meine Script zum zählen läuft nun dank eurer Mithilfe.
Ich würde das ganz nun gerne noch so machen das ich den Zähler jeden Morgen neu starten lasse und den alten inhalt in ein Textfile schreibe mit Datum.
Allerdings haben mich meine Ideen hier verlassen.

Das eine wäre auf der shell ein script mit cron zu starten der eine neue counter.txt anlegt und die alte umbenennt mit dem aktuellen datum. aber was mir das misfällt ist das dann jeden Tag eine neue txt dazukommt.
Mein Vorstellung ist das ich eine Counter.txt habe mit dem aktuellen inhalt und eine counter_alt.txt mit allen alten ständen inkl datum.

Habt ihr dazu Ideen?

Ciao schnuff
kane
Posts: 82
Joined: 2002-10-04 01:22

Re: Script zum Zählen von Besuchern

Post by kane »

Hättest du ne sql DB zur Verfügung? Oder kannst du "nur" in Files shreiben?

Am besten wäre das mit ner sql DB zu realisieren...

Gruß Kane
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

Ja Datenbank habe ich zur verfügung, blos habe ich mich mit mysql soweit noch nicht auseinander gesetzt, Da habe ich im moment keinen Plan von. Kann mir da einer ein bisschen unter die Arme greifen??
Ciao schnuff
cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: Script zum Zählen von Besuchern

Post by cye »

tabelle: counter

Code: Select all

   datum    text
   counter  int

Code: Select all

<?
  $heute = date("d.m.Y");
   if(mysql_result(mysql_query("select count(*) from counter where datum='$heute'"),0,0)==0)
    mysql_query("insert into counter values('$datum',0)");
   mysql_query("update counter set counter=counter + 1 where datum='$heute'");
?>

dann hast du in der tabelle counter eine schöne besucherübersicht
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: Script zum Zählen von Besuchern

Post by arty »

Hi,

also für jeden Visit einer Seite eine oder gar zwei DB-Abfragen zu machen, halte ich für Overkill. Wieso wertet ihr nicht eure Logfiles aus?

bye
arty
cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: Script zum Zählen von Besuchern

Post by cye »

sequentielle dateiverabeitung is ja soviel perfomater als 2-3 datenbank-abfragen
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

@cye
ich habe die Datenbank angelegt,
aber es kommt

Code: Select all

Warning: Access denied for user: 'wwwrun@localhost' (Using password: NO) in /home/www/web33/html/counter.php on line 3
das liegt daran weil ich ja keine Verbindung zu Datenbank hergestellt habe oder?
ich hätte mir eine Datei mit den Daten gebaut

Code: Select all

<?php

#Daten fuer Datenbankzugriff

$db = "usr_web33_1";

@mysql_connect("localhost","web3","passww");

@mysql_select_db("$db");

?>
sehe ich das richtig? Die füge ich mit include ein geht das so?

Ciao schnuff
cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: Script zum Zählen von Besuchern

Post by cye »

entweder includen .. oder vorne dran schreiben
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

so sieht das script nun aus

Code: Select all

<?
$db = "usr_web33_1";

@mysql_connect("localhost","web33","passwort");

@mysql_select_db("$db");

  $heute = date("d.m.Y");
   if(mysql_result(mysql_query("select count(*) from counter where datum='$heute'"),0,0)==0);
    mysql_query("insert into counter values('$datum',0)");
   mysql_query("update counter set counter=counter + 1 where datum='$heute'");
?>
und das schreibt der browser

Code: Select all

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/www/web33/html/counter.php on line 9
Zeile 9 ist die mit dem from counter where datum

Any ideas??

Ciao schnuff
schnuffel
Posts: 47
Joined: 2003-09-15 16:52

Re: Script zum Zählen von Besuchern

Post by schnuffel »

@ cye kannst du mir bitte nochmal helfen?
so sieht das script nun aus und es geht!

Code: Select all

<?
$db = "usr_web33_1";

@mysql_connect("localhost","web33","passwort");

@mysql_select_db("$db");

  $heute = date("d.m.Y");
   if(mysql_result(mysql_query("select count(*) from counter where datum='$heute'"),0,0)==0);
    mysql_query("insert into counter values('$heute',0)");
   mysql_query("update counter set counter=counter + 1 where datum='$heute'");
?>
Der Fehler war der das die Zewite Variable falsch war, da stand datum und nicht heute!.
Nun legt er mit jedem Aufruf eine eigene Zeile mit dem Aktuellen Datum an wobei er den Zähler erhöt. Mein ziel wäre aber das ich pro tag nur eine Zeile habe und er dort immer weiter zählt.
Ich hoffe ich habe das gut genu erklärt.

Ciao schnuff
r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Script zum Zählen von Besuchern

Post by r00ty »

zakmc wrote:Wenn die aber unbedingt html heissen muss, dann kannst Du mit htaccess dem Apache sagen, das er html auch mit dem PHP-Parser behandeln soll.
für die .htaccess

Code: Select all

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddHandler x-httpd-php .htm
AddHandler x-httpd-php .html
DirectoryIndex index.htm index.html index.php
AddType / AddHandler je nachdem ob es als Modul oder als CGI läuft.