Autor Zpráva
kvoky
Profil *
Mám script na počítání přístupů za den. Jen na začátku stránky (před ním je jen config.php a nějaká podmínka - žádný výstup - jestli se tak teda nebere session_start() v configu):

//pocet precteni
$Filmcookie=mysql_fetch_array(mysql_query("select precteno from galerie where id='$_GET[id]'"));
$fi="f".$_GET[id];
$datum = getdate();
$hodiny=$datum[hours];
$minuty=$datum[minutes];
$sekundy=$datum[seconds];
$time=86400-(($hodiny*3600)+($minuty*60)+($sekundy));
if (isset ($_COOKIE[$fi])){
}else{
setcookie ($fi, "on", $time);
$precteno = $Filmcookie[precteno]+1;
$sql = "UPDATE galerie SET precteno='$precteno' WHERE ID='$_GET[id]'";
MySQL_Query($sql) or die ("Chyba MySQL");

No a kde je teda chyba? Při každém přístupu mi to přičítá jeden příchod - jak je to možný? Díky
tiso
Profil
Máš premennú id nastavenú na každej stránke v adrese?
Existuje tá cookie? Ako sa vlá? Akú má hodnotu?

btw. máš to zle riešené...
kvoky
Profil *
id mám to sem kontroloval - s cookies je to blbý když dám echo $_COOKIE[$fi]; tak to nevypíše nic - hodnotu má on ale já stejně kontroluju jenom jestli je nastavena. To počítadlo je u filmů v galerii ale bude i u článků a dalších věcí takže proto to $fi="f".$_GET[id]; čas je správně když si ho vypíšu tak je to čas co zbývá do půlnoci. Nevim kde sem udělal chybu :( nevim...
tiso
Profil
kvoky
myslel som skontrolovanie cookie v prehliadači...
kvoky
Profil *
Hmm - díky ale problem byl dost triviální:

Já si myslel že se životnost nastavuje na délku jejího trvání ale stačilo zalistovat v php pro začátečníky a zjistil sem že se zadává do jaké doby to má fungovat takže takhle:

setcookie ($fi, "on", $time+time());

Díky
kvoky
Profil *
btw...cp si myslel tim ze to mam spatne resene? Jak by si to resil jinak?
tiso
Profil
kvoky
No nastavuje sa dĺžka jej trvania, ale do parametra sa píše čas expirácie :-) To mi nejak ušlo, bežne sa to robí:
$time=time()+60*60*24*30 (napríklad pre mesiac (30 dni)), že Ti tam niečo také chýba som prehliadol...

btw - myslel som to že nastavuješ premennú $time ktorá sa vôbec nemusí použiť - ak platí podmienka pre if... Takže správne má byť až v časti else... Okrem toho prázne if nemá význam, lepšie je znegovať podmienku a miesto if/else mať len if
kvoky
Profil *
Jasně dík :)
kvoky
Profil *
Jo mimochodem jak zneguju if (isset ($_COOKIE[$fi])){ kdyz se neco rovná tak je mi to jasný ale tady? To mám udělat jak? if (!isset ($_COOKIE[$fi])){ nebo if !(isset ($_COOKIE[$fi])){ ? Díky
tiso
Profil
if(!isset...
Toto téma je uzamčeno. Odpověď nelze zaslat.