[ PHP ] Einen Counter ( PHP ) aber weiß den Fehler nicht!

05/09/2013 17:17 bUu2188#1
Hab folgendes Problem habe ein Counter Script was Besucher zählt.

Hatte das selbe Script auch schon damals auf dem Server. Habe nun einen einen neuen Root Server und laut dem Script schreibt er die IP's in eine .dat Datei und (++) zählt in einer Stat.dat die Zähler eine Stufe höher und gibt diese dann aus.

Folgendes Problem: Es wird nichts in die IP.dat geschrieben und in die Stat.dat als ob er keine Rechte dazu hat ( Serverseitig) aber ich habe mit WINscp alle Rechte verteilt aber irgendwie schreibt er nichts ! Vieleicht wisst ihr ja was

Script :

<? $CookieTimeOut = "400"; // Cookie Timeout in Sekunden $NumSaveIP = "80"; // IP Adressen die gespeichert werden sollen $FontTag = ""; // Schrifteinstellungen fonttag $IPFile = "IPs.dat"; // Datei in der die IPs gespeichert werden sollen $LogFile = "Stat.dat"; // Datei in der die Counterdaten gespeichert werden.
HTML Code:
$CurrentIP=$REMOTE_ADDR;
if(file_exists($IPFile))
{ 
 $IPF=fopen($IPFile,"r+");
 $IPData=fgets($IPF,2000);
 $IPArray=explode("#",$IPData);
 if(in_array($CurrentIP,$IPArray))
 { 
   $Action="read";
 }
 else
 {
  $SavedIPs=count($IPArray);
  if($SavedIPs<=$Num_Save_IP)
  {  
   fputs($IPF,$CurrentIP."#");
   fclose($IPF);
   $Action="update"; 
  }
  else
  {
   $arrayp=array_pop($IPArray);
   $IPArray=array_reverse($IPArray);
   array_push($IPArray,$CurrentIP);
   $IPArray=array_reverse($IPArray);
   $AddIP=implode("#",$CurrentIP);  
   $IPF=fopen($IPFile,"w+");
   fputs($IPF,$CurrentIP);
   fclose($IPF);
   $Action="update";
  }
 } 
 }
 else 
 { 
  $Counter=fopen($LogFile,"w+");
  fputs($Counter,1);
  fclose($Counter);
  $IPF=fopen($IPFile,"w^");
  fputs($IPF,$CurrentIP."#");
  $CurrentCount=1;
 }


if($Action=="update")
{
  $Counter=fopen($LogFile,"r+");
  $CurrentCount=fgets($Counter,20);
  $CurrentCount++;
  fseek($Counter,0);
  fputs($Counter,$CurrentCount);
  fclose($Counter);   
}

if($Action=="read")
{
  $Counter=fopen($LogFile,"r+");
  $CurrentCount=fgets($Counter,20);
  fclose($Counter); 
}

echo "<html><body>$FontTag Du bist Visitor Nr. <b>$CurrentCount </b>";

?>
05/09/2013 20:50 supercracker13#2
Ich hab nen einfacherern counter send mir ne pn dann kann ich dir helfen
05/09/2013 22:58 Cambios#3
Komplizierter & Verwirrender kann man nen Php Source ja nicht schreiben..
Tipp: Es gibt zahllose Tutorials und Beispielsources in Google fürn Counter in php, auch mit ip-sperre das er nur neue user zählt.. schau dir die mal an und lern bisschen mehr php.
05/10/2013 09:55 supercracker13#4
PHP Code:
<?php

$datei 
fopen("counts.txt""r+");
$inhalt fgets($datei20);
$inhalt++;

rewind($datei);
fputs($datei$inhalt);
fclose($datei);

?>
Das ist jetzt ein sehr einfacher counter aber er reicht mir.
Er zählt halt nur die Hits (bei mir Download Hits).

Ich kenne mich in PHP jetzt nicht so gut aus aber ich würde einfach für jeden tag ne datei anlegen, welche ip's auf der seite waren und dann mit if einfach den tag abfragen und gucken ob die ip drinne ist. Wenn ja dann soll er nix machen, wenn nein dann soll er den counter + 1 setzen
05/10/2013 19:28 krassbekannt#5
Arbeite Dich in PHP ein, ganz einfach ist das eigentlich.
Es ist eher nicht empfehlenswert mit den jeweiligen IPs täglich Dateien anzulegen, wie gesagt mySQL wäre besser.

Du müsstest einfach eine Datei mit dem heutigen Datum (bsw. wenn die Datei nicht existiert) erstellen und darauffolgend sollte das wie Du gepostet hast, mit dem Counter funktionieren. Anstatt $inhalt würde dann einfach die IP eingefügt werden. Dann fragst Du mit preg_match ob die IP vorhanden ist, wenn nicht dann den Counter +1 setzen.

Oder Du bist faul und ließt Dir das durch und nutzt es auch (1 Sekunde Google) -> [Only registered and activated users can see links. Click Here To Register...]
05/10/2013 19:34 bUu2188#6
Vielen dank für eure Tips/Hilfestellungen :) habe mir alles zu Herzen genommen und werde nun die Tage mal schauen wie ich weiter vorgehe =)

ich glaube ich werde aaber auch wie SuperCracker eher zu einem einfachen Counter tendieren :) Deshalb auch vielen Dank :)

Schönes Wochenende
05/17/2013 15:51 MrSm!th#7
#moved