| Autor | Zpráva | ||
|---|---|---|---|
| jazzdave Profil |
Zdravím,
Udělal jsem si počítadlo podle http://vydrus.name/slozitejsi-pocitadlo-pristupu-v-php Spustil jsem tento instal.php a v databázi se mi vytvořili tabulky. <?php
//pripojeni do DB
$spojeni=mysql_Connect("server", "login", "heslo") or
die ("Nepodařilo se připojit k DB.");
mysql_select_db ("databaze") or
die ("Databáze pravděpodobně neexistuje.");
$sql="create table celkem(id integer primary key auto_increment,celkem int)";
mysql_query ($sql);
echo mysql_error()."<br />";
$sql="create table den(id integer primary key auto_increment,ip varchar(15),doba int)";
mysql_query ($sql);
echo mysql_error()."<br />";
$sql="create table mesic(id integer primary key auto_increment,ip varchar(15),doba int)";
mysql_query ($sql);
echo mysql_error()."<br />";
$sql="create table online(id integer primary key auto_increment,ip varchar(15),doba int)";
mysql_query ($sql);
echo mysql_error()."<br />";
$sql="insert into celkem (celkem) values ('0');";
mysql_query ($sql);
echo mysql_error();
?>
Pak jsem do stránek vložil přes include tohle pocitadlo.php
<?php
//pripojeni do DB
$spojeni=mysql_Connect("server", "login", "heslo") or
die ("Nepoda鬯 se p鰯jit k DB.");
mysql_select_db ("databaze") or
die ("Datab⻥ pravd�dobn졮eexistuje.");
//deklarace funkci
function spocti_lidi ($tabulka){
$sql="select count(*) from $tabulka";
@$r=mysql_query ($sql);
if (@mysql_num_rows($r)){
$zaznam=mysql_fetch_row($r);
$pocet_lidi=$zaznam[0];
}
return $pocet_lidi;
}
function zapis_lidi ($tabulka, $cas, $limit, $ip){
$sql="select ip from $tabulka where doba=($cas-$limit) or doba>$cas";
@$r=mysql_query ($sql);
if (mysql_num_rows($r)){
$sql="delete from $tabulka";
mysql_query ($sql);
}
$cas_dny=date ("j");
$sql="select id from den where ip like '$ip' AND doba=$cas_dny";
@$r=mysql_query ($sql);
if (!mysql_num_rows($r)){
$sql2="insert into $tabulka (ip, doba) values ('$ip', '$cas')";
mysql_query ($sql2);
}
}
//celkem lidi
$ip=$REMOTE_ADDR;
$cas_dny=date ("j");
$sql="select celkem from celkem";
@$r=mysql_query ($sql);
if (@mysql_num_rows($r)){
$zaznam=mysql_fetch_row($r);
$celkem=$zaznam[0];
}
$sql="select id from den where ip like '$ip' AND doba=$cas_dny";
@$r=mysql_query ($sql);
if (!mysql_num_rows($r)){
$celkem++;
$sql2="update celkem set celkem=$celkem where id=1";
mysql_query ($sql2);
}
//lidi online
$cas_minuty=date ("i");
$limit=10; //minut
$sql="delete from online where doba<($cas_minuty-$limit) OR doba>$cas_minuty";
mysql_query ($sql);
$sql="select ip from online where ip like '$ip'";
@$r=mysql_query ($sql);
if (@mysql_num_rows($r)){
$sql1="update online set doba='$cas_minuty' where ip like '$ip'";
mysql_query ($sql1);
}else{
$sql2="insert into online (ip, doba) values ('$ip','$cas_minuty')";
mysql_query ($sql2);
}
//volani funkci pro zapsani novych navstev do databaze
$cas_mesic=date ("n");
$limit=1;//mesic
zapis_lidi ("mesic", $cas_mesic, $limit, $ip);
$cas_dny=date ("j");
$limit=1;//den
zapis_lidi ("den", $cas_dny, $limit, $ip);
//vypis lidi
$den=spocti_lidi ("den");
$online=spocti_lidi ("online");
$mesic=spocti_lidi ("mesic");
echo "<table style=\" border: 1px solid #739240; width: 100px; margin: 0px; padding: 0px;\">
<tr><td colspan=\"2\" style=\"color: black; font-size: 11px; text-align: center; border-bottom: 1px solid #739240;\"><strong>Návštěvy</strong></td></tr>
<tr><td style=\"color: black; font-size: 10px;\">Celkem</td><td style=\"color: black; font-size: 11px; text-align: right;\">$celkem</td></tr>
<tr><td style=\"color: black; font-size: 10px;\">Měsíc</td><td style=\"color: black; font-size: 11px; text-align: right;\">$mesic</td></tr>
<tr><td style=\"color: black; font-size: 10px;\">Dnes</td><td style=\"color: black; font-size: 11px; text-align: right;\">$den</td></tr>
<tr><td style=\"color: #739240; font-size: 10px;\">Online</td><td style=\"color: black; font-size: 11px; text-align: right;\">$online</td></tr></table>";
?>Ale počítadlo nepočítá, ukazuje jen samé jedničky ikdyž jsem si dnes spustil stránky z jiné IP. Můžete mi někdo prosím poradit? Moderátor panther: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
). |
||
| jazzdave Profil |
#2 · Zasláno: 8. 12. 2010, 09:36:03
panther: Aha sorry
|
||
| Madenio Profil |
#3 · Zasláno: 8. 12. 2010, 10:08:31
Nie som si isty, ci $REMOTE_ADDR je spravny zapis. Nahrad to za $_SERVER['REMOTE_ADDR'] na riadku 64.
|
||
| jazzdave Profil |
#4 · Zasláno: 8. 12. 2010, 10:43:06
Madenio: Díky moc!!!! Pomohlo to!! Díky
|
||
|
Časová prodleva: 15 let
|
|||
0
).