Page 1 of 1
Script zum Zählen von Besuchern
Posted: 2003-11-27 12:52
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-27 13:21
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.
Re: Script zum Zählen von Besuchern
Posted: 2003-11-27 13:28
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

?
so long
static
Re: Script zum Zählen von Besuchern
Posted: 2003-11-27 15:42
by schnuffel
Danke für eure Hilfe, Ich habe die die index in php umbenannt und nun klappt es.
Danke schnuff
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 09:15
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 10:16
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 10:43
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 11:40
by cye
tabelle: counter
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 12:01
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 12:09
by cye
sequentielle dateiverabeitung is ja soviel perfomater als 2-3 datenbank-abfragen
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 13:02
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
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 13:58
by cye
entweder includen .. oder vorne dran schreiben
Re: Script zum Zählen von Besuchern
Posted: 2003-11-28 14:13
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
Re: Script zum Zählen von Besuchern
Posted: 2003-12-01 16:12
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
Re: Script zum Zählen von Besuchern
Posted: 2003-12-01 18:14
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.