Besucherzähler problem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Werbung hat geschrieben:ich habs jetzt mal versucht... aber wie schon gesagt... das war und ist mir noch eine nummer zu hoch... hab keine erfolg erziehlen können. :o(
Stimmt hatte u.A. aus dem Kopf raus die falsche Funktion und 2 Syntaxfehler......

Das funktioniert todsicher damit habe ich gerade eine PHP File ausgelesen......

Code: Alles auswählen

<?
$file='thumb.php'; 
$error_markup='<font color="red">%s</font>'; 
$error=array(1 => sprintf('Die Datei %s konnte nicht geöffnet werden, Pfad prüfen',$error_markup), 
5 => sprintf('Der Errorcode %s gibt es nicht',$error_markup) 
 ); 

function error_msg(&$error,$errornr,&$val) 
  { 
    If ( !isset($error[$errornr]) ) 
      printf($error[5],$errornr); 
    else 
      printf($error[$errornr],$val); 
  } 

If ( !$handle=@fopen($file,'r') ) 
  error_msg($error,1,$file); 
else 
  while ( ( $row=fgets($handle) ) !== FALSE) 
    echo $row."<br/>"; 
  @fclose($handle);
Naja man sollte immer ausgeruht sein dann macht man keinen Irrsinn, gefehlt hat u.A. 2 Parameter 'r' für fopen, Funktion und dessen Aufruf war ein $ vorangestellt und fgetc ist zeichenweise und fgets Zeilenweise also passend.....

Sry aber ich hab ja gesagt Flüchtigkeitsfehler sind gut möglich in dem Zustand :D
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

Tagchen,...

also, ich hab das von dir @Blutgerinsel ganz oben eingebaut...

Und der erste eindruck... ist... *hm* keine fehlermeldung *smile* also, geh ich jetzt mal davon aus, dass es funktioniert.
Hab ne Frage was macht die "thumb.php" die ich da oben habe? Brauch ich die oder wozu ist die da???? Ohne die datei bekomm ich ja ne fehlermeldung. und mein counter funktioniert nicht wirklich...

MfG Werbung
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

thumb.php war die File die ausgelesen habe :D
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

Blutgerinsel hat geschrieben:thumb.php war die File die ausgelesen habe :D
Was meinst damit? War deine Test datei... und was hat das für ein Nutzen die Datei? soll ich als erstatz zu deiner einfach eine datei erschaffen... xyz.php die eigendlich nix macht?

Oder hat die datei eine bestimmte Aufgabe?
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Du willst doch eine Datei auslesen?
Tja und $file ist der Parameter für die Testdatei thumb.php die ich auslesen wollte......

Im Grunde brauchst du aber nur:

Code: Alles auswählen

if ( !$handle=@fopen($file,'r') ) 
  echo "Fehlermeldung";
else 
  while ( ( $row=fgets($handle) ) !== FALSE) 
    echo $row."<br/>"; 
   @fclose($handle);
Vielleicht ist es jetzt klarer ?
Obiges ist nur ein sehr primitives Fehlerhandling......Wo du weitere Errorcodes hinzufügen könntest um damit einheitliche Fehlermeldungen zu erzeugen.......

Du könntest dir auch überlegen wenn Textdatei X von Y abhängig ist das du zuerst versuchst die Files zu öffnen und wenn beide vorhanden sind das ganze einträgt sonst löufst du Gefahr das deine Daten inkonsistent werden......
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

hm,... irgendwie blick ich grad net durch...

also, ich hab nen Counter der tag und gesamt zahl der user zählt.

Und der speichert die User doppelt ab bzw. er hat in der kurzen zeit.. zu viele besucher....!

Und wenn dein Code nur für Fehlerhandling ist. dann hab ich ja noch immer das Problem mit der doppelzählen oder nicht? Oder steht ich jetzt auf der leitung?
Ich peil grad nicht, wie und was ich da jetzt änder bzw. einbauen muss, dass der counter richtig funktioniert?

*großesfragezeichen*
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Um dir das alles jetzt zu erklären wäre es nunja etwas umfangreich.....

Du brauchst ja auf jeden Fall eine Reloadsperre und die kann ja anonym nur via IP + der Zeit festgehalten werden......

Im Grund würde es ja reichen wenn du eine temporäre Txt File benützt um die Besucher festzuhalten.....

IP X hat um 12:30 geklickt
IP Y hat um 15:30 geklickt

Nun eine Intervalle +30 min einfügen und die eingetragene Zeit + 30min rechnen. Die aktuelle Zeit ermitteln und überprüfen ob die aktuelle Zeit größer als die eingetragene Zeit + 30 min ist. Wenn ja wird der Besuch bzw. Refresh gewertet

Jedoch würde ich da lieber mit der Session arbeiten.....

Und wenn der Besuch gewertet wird erhöhst du den Zähler einer weiteren File......Und aus dieser generierst du dann denn Counter.

Die temporäre File würde ich dann um Mitternacht oder so löschen sonst wird die größer und größer......

Im Grund wäre das über eine Datenbank viel leichter und besser zu realisieren.......

Wenn du auf
http://www.php-resource.de/scripte/brow ... Counter/1/

gehst wirst du auch Text Counter finden u.A. auch einen Textcounter mit Reloadsperre.....
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

Ok,..... Ich hab jetzt ein anderen Zähler gefunden, auch wenn ich mich schwerenherhzen von meinem jetztigen trennen muss.

Das ist dieser Web Counter

Beschreibung: Einfacher Textcounter! Einfach aber doch effizient! Zählt total Hits und today Hits! PHP/MySQL!

Da hab ich aber bei der installation ein Problem!

Code: Alles auswählen

$host = "localhost";					//hostname, default "localhost"
$login = "root";						//login name
$pass = "pass";							//login password
$datab = "counter";					    //database name
$table = "counter";	     				//tablename
ok,... das ist ja so weit wie ok,... Muss ich bei Tablename ein bestimmten namen eingeben? Nicht oder...!
Also, wenn ich des als Counter stehen lasse und dann die createcounter.php laufen lasse, erstell er alles! ABER es funktioniert nicht... kann mir vielleicht sagen warum und wie ich das mach? Oder hab ihr nen besseren Counter für mich.

Ich liege wert drauf, dass es den Tag User und die Insgesamt User zält und natürlich mit IP Sperre, dass niemand doppeltgezählt wird.

Wenn ich das alles ausführe bekomm ich diese fehlermeldung:

Code: Alles auswählen

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /../../index.php:117) in /../../counter.php on line 10

Warning: mysql_connect(): Access denied for user: 'root@localhost' (Using password: YES) in /../../counter.php on line 22
konnte Keine Verbindung herstellen!
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

ja, das hab ich ja auch gedacht... aber ich find kein fehler!

So sieht der Counter install aus, wenns ferig ist.

Code: Alles auswählen

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?php
	include('counter.php');
	?>
	gesamt: <? echo $mycount[0] ?><br>
        heute: <?echo $mycount[1] ?>
</body>
</html>
Aber es passiert nichts! das einzige was kommt ist jetzt diese Fehlermeldung:

Code: Alles auswählen

Warning: mysql_connect(): Access denied for user: 'root@localhost' (Using password: YES) in /../../counter.php on line 22
konnte Keine Verbindung herstellen!
Was mach ich falsch? Oder ist der Counter kaput?
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Antworten

Zurück zu „Coding & Technik“