Miből áll egy statisztikaszámláló kódja?
Elv: minden esetben, amikor egy ember megnyitja az oldalad, ugye lefut az oldal kódja.. ebben a kódban kell írni egy részt, ami azt csinálja, hogy egy számhoz hozzáad egy-et. Végül is ennyi lenne..
--------------------
Tessék egy szerintem sz@r, de működő kód, nem én írtam, csak ittvolt kéznél -open source, szóval használhatod -
<?
//Change settings below to sute your needs//
$countmulti = "true"; //Put "true" to count page refreshes or "no" to count only ip addresses that are new//
$tcounter = "graphics"; //put "graphics" to use graphics, put "text" to use text//
$path_to_images = "counter_images";
$image_set="digital_swamp"; //The image set
$errors= on; // put "on" to show any errors, put "off" to ignore them.
$count_at ='0';
//Dont change anything below here //////
$ip = $_SERVER['REMOTE_ADDR'];
$data = @file("webcounter.txt");
$time= time();
$edn = explode("=",(@end($data)));
$howlong = round( ( ($time - $edn[1]) ) / 2);
if("$howlong" < "60"){ $secelap = $howlong; if($secelap == 1){ $trange = "Second"; }else{ $trange = "Seconds"; }}
if("$howlong" > "60"){ $secelap = round($howlong / 60); if($secelap == 1){ $trange = "Minute"; }else{ $trange = "Minutes"; }}
if("$howlong" > "3600"){ $secelap = round($howlong / 3600); if($secelap == 1){ $trange = "Hour"; }else{ $trange = "Hours"; }}
if("$howlong" > "86400"){ $secelap = round($howlong / 86400); if($secelap == 1){ $trange = "Day"; }else{ $trange = "Days"; }}
if("$howlong" > "604800"){ $secelap = round($howlong / 604800); if($secelap == 1){ $trange = "Week"; }else{ $trange = "Weeks"; }}
function error($message){
global $errors;
static $do_once;
if("$do_once" !== "done" && $errors == on){
echo "<center><font size=2 color=#FF0000>Count170 Hiba<br>$message</font></center>";
$do_once=done;
}
}
if(!strpos(@join($data), "$ip") && $countmulti == "true" or $countmulti == "true"){
$fp = @fopen("webcounter.txt","a+")or die (error("Nem lehet megnyitni a webcounter.txt -t, ellenőrizd a beállításokat!"));
@fputs($fp,"$ip=".$time."=
");
@fclose($fp);
}
foreach($data as $user){
$div = explode("=",($user));
if(( $time - $div[1] ) < 60 && $div[0] !== $ip){ $users_pres = $users_pres."|"; }
}
$count_number1 = sizeof($data);
$count_number = ($count_number1+$count_at+1);
$on_site_now = strlen($users_pres)+1;
if($on_site_now == 1){ $w_visiters = "Személy"; $w_is = "a(z)"; }else{ $w_visiters = "Ember"; $w_is = "$nbsp;"; }
if("$tcounter" == "text"){
echo "<center><font size=2>$count_number Hits<br>Utolsó látogató $secelap $trange ezelőtt volt<br>$on_site_now $w_visiters $w_is user nézi ezt az oldalt.</font></center>";
}
if("$tcounter" == "graphics"){
$rnu = $count_number;
$i=0;
while($i < strlen($rnu)){
$stra = "$rnu";
if(file_exists("$path_to_images/$image_set-".$stra{$i}.".gif")){
echo "<img src=\"$path_to_images/$image_set-".$stra{$i}.".gif \" >";
}else{
error("A kép nem található \"$path_to_images/$image_set-$stra{$i}.gif\" ");
}
$i++;
}
}
unset($data);
?>
most képekre van állítva: a fájl mellé létre kell hozni egy counter_images nevű mappát, benne 10 db ugyanakkora képfájllal: a képek egy-egy számot ábrázolnak.
A fájlok nevei.. válassz egy szót: pl: szilvasbukta
a fájlnevek:
a 0-át ábrázoló kép: szilvas_bukta-0
az 1-et ábrázolókép: szilvas_bukta-1
...
A kötőjel+szám a végén a lényeges..
két út áll előtted ez esetben: 1.) leülsz és megtanulod a php alapjait; és ha ez megvan, egyedül is képes leszel megoldani a dolgot.
2.) a <? és a ?> közti dolgot, a nyitó és zárótaggal együtt belemásolod egy php fájlba és kész.
ehhez a konkrét dologhoz amúgy, mm a kódhoz, amit beírtam csak az if+else elágazás, a változók, a fájl-ba írás, és belőle olvasást, és az explode() függvényt kell ismerned, hogy megértsd..
Ezek mennek? mert ha igen, akkor elmagyarázom lépésről-lépésre, hogy mit mivel miért, de ha nem, nos, had ne álljak neki felolvasni a tanuljunk phpt 24 óra alatt c könyvet.
a html fogalma azért megvan? = a html az, ami a böngésződben megjeleníti a ... áá tudod mit? hagyjuk. A lényeg: php nélkül egy html kód képtelen bármilyen dinamikus funkciót is megvalósítani.. ergó, nem nem egyszerűbb, hanem lehetetlen pusztán html kóddal számlálót írni..
(és ilyenkor még szoktam írni egy regényt, hogy előbb tanuld meg... stb.. most nem írok ilyesmit, képzeld oda..)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!