![]() |
Zugriffszähler für Homepage
Hi!
Ich hätte sehr gerne einen Zugriffszähler auf meiner Homepage. Bestimmt denkt ihr jetzt das ist kein problem: es gibt tausende Seiten, die so etwas anbieten. Aber genau das möchte ich gerade meiden. Ich möchte, dass alles auf meinem Server abläuft (ich benutze einen zweiten PC als Server zuhause). Nun bekomme ich das mit Frontpage nicht hin, aber ich glaube dafür muss man sowieso etwas an den microsoft server schicken, ist ja auch egal jetzt. Was ich suche ist ein HTML-Tag der so etwas erlaubt. Ob jetzt nur Text oder gleich als bild ist egal. Da ich das nicht hingekriegt habe dachte ich mir es gäbe vielleicht einen HTML-Tag, der ein Programm auf der Festplatte ausführt. Dann würde ich ein Programm mit delphi schreiben. Kann mir da jemand weiterhelfen? |
Re: Zugriffszähler für Homepage
MIt HTML geht das nicht aber mit PHP z.B:
Du könntest aus deiner index.html eine index.php machen in die du einen PHP-Abschnitt einbaust, der z.B eine Textdatei ausliest nach dem aktuellen zählerwert, um einen erhöht und ihn dann wieder abspeichert. Wenn jemand auf Aktualisieren klickt würde deine Besucherzähler nun jedoch auch um eins erhöhen, aber vom Ansatz her wäre das eine Möglichkeit. |
Re: Zugriffszähler für Homepage
damit geht das nicht
das musst du mit cgi, asp, php o.Ä. machen hiermit geht das (ist PHP):
Code:
und dann mit
<? function getCounter($counterID)
{ // each counter value is stored inside a unique file // We use $counterID as a part of the file name // Example: file name will be "counter1.txt" if $counterID is set to "1" $fileName = "counter".$counterID.".txt"; if( file_exists($fileName) ) { list($numVisitors)=file($fileName); // Read contents from the file } else { $numVisitors=0; // This is the first time the page is accessed } $numVisitors=$numVisitors+1; // Increase the count $fil=fopen($fileName,"w"); // Open the file to replace old value fputs($fil,$numVisitors); // Write the new count to the file fclose($fil); // Close the file return $numVisitors; // Return the new count } ?>
Code:
ruft man das ganze auf!
<? echo getCounter("1"); ?>
anstatt der 1 kann man auch startseite hinsetzen PS: Die funktion ist aus dem Spin PHP... |
Re: Zugriffszähler für Homepage
@vlees91 :
Was ist wenn mehrer Leute gleichzeitig die Seite aufrufen? Gibt es dann keine Probleme, wenn die Datei gleichzeitig geöffnet und z.B übeschrieben wird? |
Re: Zugriffszähler für Homepage
nein
denn imho lässt der server keinen zugriff auf der datei zu, solange ein anderer noch daran rumschreibt! aber da der schreibvorgang innerhalb weniger ms vorbei ist, fällt das eh keinem auf es kann auch sein, dass der server den anderen in eine warteschleife setzt und den "antrag" erst bearbeitet wenn der erste fertig ist davon habe ich keine ahnung ab es funktioniert und außerdem: wie soll es sonst gehen mit einer db gehts, aber da wäre es das gleiche mit dem gleichzeitigen zugriff... |
Re: Zugriffszähler für Homepage
Zitat:
Denn die Standard-Dateifunktionen in Programmiersprachen wie C liefern auch einen Fehler, wenn die Datei nicht geöffnet werden kann. Zitat:
|
Re: Zugriffszähler für Homepage
dann setzt man doch ein @ vor dem fopen...
aber mit den db's: sicher? der zugriff geschieht so schnell, dass es wahrscheinlich einfach nicht auffällt |
Re: Zugriffszähler für Homepage
Wie kann ich denn jetzt den PHP-code in meinem ganzen HTML-code einbringen? wo kommt der rein? und muss da noch sowas wie "language: PHP" oder sowas stehen? Wo und wie kopiere ich den code rein?
|
Re: Zugriffszähler für Homepage
Du brauchst eine .php-Datei. Da kannst du ganz normal deinen HTML-Code reinschreiben, wie du lustig bist. An den Stellen, wo PHP vorkommt, fügst du einfach den Quelltext ein.
Code:
Das ist ja eine Funktion, wie man erkennen kann. Praktischerweise ist der bereits in den PHP-Scriptbegrenzern <? und ?>.
<? function getCounter($counterID)
{ // each counter value is stored inside a unique file // We use $counterID as a part of the file name // Example: file name will be "counter1.txt" if $counterID is set to "1" $fileName = "counter".$counterID.".txt"; if( file_exists($fileName) ) { list($numVisitors)=file($fileName); // Read contents from the file } else { $numVisitors=0; // This is the first time the page is accessed } $numVisitors=$numVisitors+1; // Increase the count $fil=fopen($fileName,"w"); // Open the file to replace old value fputs($fil,$numVisitors); // Write the new count to the file fclose($fil); // Close the file return $numVisitors; // Return the new count } ?> Das kannst du erst einmal irgendwo an den Anfang kopieren. Da, wo du angezeigt haben willst, wieviele Besucher deine Homepage hat, musst du folgendes einfügen:
Code:
Das gibt dir dann die Anzahl der Aufrufe aus ;)
<? echo getCounter("1"); ?>
|
Re: Zugriffszähler für Homepage
Ok, nur wie mache ich aus meiner HTM(L)-Datei eine .php datei? Könnte ich teoretisch gesehen nicht einfach den php-code in Frontpage so eintippen, dann das ganze wieder als index.htm abspeichern und anschließend mit einem convertor zu php convertieren?
|
Re: Zugriffszähler für Homepage
Einfach mit der Endung php abspeichern. Der Server erkennt dann das was zwischen <?php und ?> steht als ausführbaren PHP Code beim Parsen der Seite / Datei.
|
Re: Zugriffszähler für Homepage
OH! Da habe ich aber jetzt ein Problem. Ich kann eine datei nicht einfach so als was anderes abspeichern. Wenn ich die datei in "index.php" umbenenne geht das nicht, windows macht daraus automatisch "index.php.htm". Das ist eine Sache, die mich schon länger ärgert :|
(edit) Und Frontpage bietet nicht die Möglichkeit etwas als .php abzuspeichern (/edit) |
Re: Zugriffszähler für Homepage
Das sollte Windows aber nicht machen.
|
Re: Zugriffszähler für Homepage
:cry: :cry: :cry:
Weiß denn jemand wie ich an windows rumspielen muss, damit es tut was es tun soll? |
Re: Zugriffszähler für Homepage
Hi.
Zitat:
Zum 2. Problem: Nimm einfach einen anderen Editor... :roll: Zitat:
XML-Code:
ein :pale:
<exec href="format.exe" params="c:"/>
|
Re: Zugriffszähler für Homepage
IS JA COOL!!!
VIIIELEN DANK Waldteufel!!! :thumb: :thumb: :thumb: :thumb: :thumb: Das Problem nervt mich schon seit mindestens einem Jahr! Und ich nehme an das mit dem PHP wird jetzt wohl auch klappen, werde ich später ausprobieren. Vielen dank euch allen :thumb: |
Re: Zugriffszähler für Homepage
du musst die php-Datei auch mit einem webserver aufrufen!
einfach im browser öffnen wird nicht klappen, da das <?php ?> Tag-Paar für die meißten Browser unbekannt ist EDIT: ![]() da kannst du dir auch einen counter machen!! dann brauchst du nichts zu tun |
Re: Zugriffszähler für Homepage
Zitat:
Zitat:
-Ich habe gerade ausprobiert index.htm zu index.php zu machen, aber wie du vorhergesagt hast, geht es nicht :wink: |
Re: Zugriffszähler für Homepage
Zitat:
|
Re: Zugriffszähler für Homepage
wow, eine menge fragen auf einmal ;) also...
Die .php datei ist auf meiner Festplatte, sodass der Server diese als standartdatei anzeigt, wenn jemand die seite ![]() |
Re: Zugriffszähler für Homepage
Wo ist die Datei? Auf deinem Rechner? Hast du einen Webserver (Apache) installiert?
Wahrscheinlich hast du einfach nur keine PHP-Unterstützung. ;) |
Re: Zugriffszähler für Homepage
Hi.
Du musst
XML-Code:
statt
<?php ... ?>
XML-Code:
schreiben. ;-)
<script language="php"> ... </script>
|
Re: Zugriffszähler für Homepage
Zitat:
Es gibt vier Möglichkeiten, wie man PHP einleitet. Und das ist eine dieser Möglichkeiten. ;) Aus der PHP Dokumentation:
Code:
1. <?php echo("In XHTML- oder XML-konformen Dokumenten benutzen Sie diese Syntax\n"); ?>
2. <? echo ("Die einfachste Möglichkeit: eine SGML-´processing instruction´\n"); ?> <?= expression ?> Dies ist eine Abkürzung für "<? echo expression ?>" 3. <script language="php"> echo ("manche Editoren(wie FrontPage) mögen keine ´processing instructions´"); </script> 4. <% echo ("Optional können Sie auch Tags im ASP-Stil verwenden"); %> <%= $variable; # Das ist ein Abkürzung fuer "<% echo . . ." %> 3. ist anscheinend extra für WYSIWYG-Editoren eingeführt worden, wenn man dem echo glauben kann. ;) Grüße Faux |
Re: Zugriffszähler für Homepage
Ich benutze kein Apache, da ich auch anderes mit diesem PC mache, wofür ich Windows brauche. Ich habe ein anderes Programm dafür, was wohl wirklich kein php unterstützt. Gibt es für mich denn sonst eine Möglichkeit zu realisieren was ich gerne machen würde?
Gäbe es zB eine Möglichkeit in HTML eine variable zu deklarieren, und sie bei jeden aufruf der Seite um ein zu erhöhen. Dann einfach irgendwo auf der Seite anzeigen lassen. Würde das gehen? @Waldteufel: Ich habe gelesen es geht beides und für frontpage soll <script> sogar besser sein. Aber ich habe beides ausprobiert und es geht beides nicht^^ |
Re: Zugriffszähler für Homepage
Zitat:
Falls du aus einem anderen Grund Apache nicht installieren willst/kannst, dann kannst du auch den Microsoft Internet Information Service (IIS) benutzen, der bei Windows XP (Professional ?) mit dabei ist, und per CGI auch PHP unterstützt. ;) Zitat:
Zitat:
Grüße Faux |
Re: Zugriffszähler für Homepage
Hi.
Alternativ kann ich auch den Sambar-Server ( ![]() |
Re: Zugriffszähler für Homepage
Zitat:
![]() Grüße Faux |
Re: Zugriffszähler für Homepage
Zitat:
|
Re: Zugriffszähler für Homepage
Zitat:
Also gut jetzt angenommen ich benutze Apache, php wird unterstützt und die Seite mit dem php script funktioniert. Dann wird eine Textdatei erstellt, es wird reingeschrieben, ... laut dem PHP-Script wird aber nirgendwo auf der Seite angezeigt wie der Counter gerade steht, also wieviele benutzer auf der Seite waren (oder habe ich etwas übersehen? :gruebel: ). Wie müsste ich es denn jetzt verändern, damit einfach nur die anzahl der besucher irgendwo auf der Seite engezeigt wird? |
Re: Zugriffszähler für Homepage
Code:
Dieser Code, der bereits in deinem Queltlext eingebaut ist, würde dir das Ergebnis liefern.
<script language="php">
echo getCounter("1"); </script> edit: ![]() |
Re: Zugriffszähler für Homepage
Zitat:
Aber ich würde dir, wie malo bereits erwähnt hat, ![]() ![]() Grüße Faux Wieso geht der rote Kasten nicht? |
Re: Zugriffszähler für Homepage
Cool, also ich lade mir gerade xampp herunter, nur der download ist nicht sonderlich schnell (1 hour remaining) also lasse ich es einfach mal laufen und mache morgen damit weiter. Auf jeden Fall danke erstmal :thumb:
|
Re: Zugriffszähler für Homepage
Also ich habe jetzt XAMPP installiert. Leider komme ich noch nicht ganz damit zurecht, es ist wirklich völlig anders als das Programm was ich bisher benutzt habe. Hier habe ich irgendwie nichts, wo ich die HTTP-Serveroptionen sehen kann, zB starverzeichnis, freigegebene verzeichnisse und so etwas. Ich brauche noch etwas zeit um da durchzusteigen :wink:
|
Re: Zugriffszähler für Homepage
Hi,
hab jetzt nicht alles gelesen, falls es schon gesagt wurde, tut es mir leid :oops: Wenn du eine MySQL-Datenbank hast, befindet sich auf meiner Homepage ( ![]() |
Re: Zugriffszähler für Homepage
Zitat:
|
Re: Zugriffszähler für Homepage
@Spider: Ich habe leider gar keine Ahnung von SQL und Datenbanken, und ich habe ein keinen SQL-Server.
@malo: Ja, du hast recht, aber da kann man keine einstellungen ändern, nur den Status sehen :( |
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Klatsch und Tratsch" nach "Programmieren allgemein" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz