Számláló
Sziasztok!
Már 2 napja keresem a hibát az alábbi programban, de nem találok rá megoldást. A számláló a hits könyvtárban a mai dátum.php (2005_04_06.php" fájlban tárolja az adatokat azért, hogy ne kelljen ellenőrizni, hogy eltelt e egy nap, s nullázás, plusz egyéb fölösleges dolgok. Mivel az egész csupán 1 fájl, ezért egy form magát hívja meg, s ha a stat változó deklarálva van, akkor a következő kód lép működésbe:A $y az év a $m a hónap, a $d a nap. Úgy akartam megcsinálni, hogy ha valamit kihagyok, akkor azt úgy vegye, hogy bármelyik lehet. Pl: nincs megadva nap, akkor az egész havi látogatókat számolja. Ha nincs deklarálva, akkor 0-t adok értékül. Ha minden adatot beírok, akkor nincs gond a programmal, de ha egyet kihagyok, nem működik. Ha tudna valaki segíteni, annak nagyon örülnék. Előre is köszi:
Tiny
■ Már 2 napja keresem a hibát az alábbi programban, de nem találok rá megoldást. A számláló a hits könyvtárban a mai dátum.php (2005_04_06.php" fájlban tárolja az adatokat azért, hogy ne kelljen ellenőrizni, hogy eltelt e egy nap, s nullázás, plusz egyéb fölösleges dolgok. Mivel az egész csupán 1 fájl, ezért egy form magát hívja meg, s ha a stat változó deklarálva van, akkor a következő kód lép működésbe:
- function getstat($y,$m,$d)
- {
- $all=0;
- If ($y == 0 && $m == 0 && $d == 0)
- {
- $dir=opendir(hits);
- while ( false !== ($file = readdir($dir)))
- {
- If ($file !== "." && $file !== ".." && is_file($file))
- {
- $a=file($file);
- $a[0]=settype(rtrim($a[0]), "int");
- $all=$all + $a[0];
- }
- }
- }
- else
- {
- If ($y !== 0 && $m == 0 && $d == 0)
- {
- $dir=opendir(hits);
- while ( false !== ($file = readdir($dir)))
- {
- If ($file !== "." && $file !== ".." && is_file($file) && eregi($y, $file))
- {
- $a=file($file);
- $a[0]=settype(rtrim($a[0]), "int");
- $all=$all + $a[0];
- }
- }
- }
- else
- {
- If ($y !== 0 && $m !== 0 && $d == 0)
- {
- $dir=opendir(hits);
- while ( false !== ($file = readdir($dir)))
- {
- If ($file !== "." && $file !== ".." && is_file($file) && eregi($y . '_' . $m, $file))
- {
- $a=file($file);
- $a[0]=settype(rtrim($a[0]), "int");
- $all=$all + $a[0];
- }
- }
- }
- else
- {
- If ($y !== 0 && $m !== 0 && $d !== 0)
- {
- $of=fopen("hits/" . $y . '_' . $m . '_' . $d . '.php',"r");
- $all=fgets($of);
- fclose($of);
- }
- else
- {
- echo"Error, mistake in the input data";
- }
- }
- }
- }
- echo("Visitors: " . $all);
- return($all);
- }
Tiny
undefined!=0
function getstat($y=0,$m=0,$d=0)
Már írtam...
Mr.Tiny :: MRT Site
opendir, elseif, colorer
$dir=opendir(hits);
helyett
$dir=opendir('hits');
(ha hits nem egy konstans)
meg szerintem jobban járnál az elseif használatával az egymásba ágyazott if-ek helyett
(ha használod a colorer BBCode jelölőt a code helyett, akkor könnyíted a válaszolok dolgát)
Attila
Thx
Mr.Tiny :: MRT Site