Portál AbcLinuxu, 27. dubna 2024 00:24


Dotaz: počítadlo v PHP

12.11.2009 18:57 PetKon
počítadlo v PHP
Přečteno: 624×
Odpovědět | Admin
Dobrý večer, chtěl bych v PHP udělat počítadlo navštívení mých stránek. Problém je v tom, že bych chtěl, aby se pokud možno co nejvíce vyloučilo zapisování uživatelů, kteří se na mé stránky přihlásí vícekrát, prostě započítat každého návštěvníka jen jednou. Napadlo mě udlat to přes kontrolu cookies. Jenom nevím jaký je příkaz a jestli vůbec takový příkaz v PHP je, na nějakou kontrolu cookies.. Díky za čas věnovaný mé otázce.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Přemek Vyhnal)
MMMMMMMMM avatar 12.11.2009 19:06 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: počítadlo v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš vytvářet cookie s platností 1h (např. setcookie('navstevnik', true, time()+3600)) a potom ve skriptu kontrolovat, zda toto cookie existuje. A jak? Třeba:

if(!isset($_COOKIE['navstevnik'])) pricti_navstevu();
Linux Dokumentační Projekt - PDF ke stažení
12.11.2009 20:43 PetKon
Rozbalit Rozbalit vše Re: počítadlo v PHP
To je ono, děkuji!!!!!!
12.11.2009 22:48 Petr Roubíček
Rozbalit Rozbalit vše Re: počítadlo v PHP
No nevím. Jestli to uděláš s platností na jednu hodinu a uživatel se ti přihlásí po dvou hodinách tak tam bude 2x a to nechceš. Normálně bych to udělal tak, že se každý návštěvník započítá jednou za den. A to uděláš tak, že vypočítáš kolik času zbývá do půlnoci a tak nastavíš životnost koláčku.

Ale pokud jsi to pochopil správně a uděláš to jak píšu tak to ber jenom jako upřesnění :]
13.11.2009 11:36 PetKon
Rozbalit Rozbalit vše Re: počítadlo v PHP
Souhlasím s tím, že první řešení by bylo jen dočasné, ale co když bych dal platnost cookies neomezenou, nebo to PHP neumí??? Pprostě zapsat do *.php souboru přítomnost návštěvníka a pak už jen kontrolovat zada ten, co se přihlásí nemá zápis v tom souboru. Nejsem si ale jistý, jestli tohle zrovna PHP umí udělat. Teprve začínám.... Díky
13.11.2009 12:26 PetKon
Rozbalit Rozbalit vše Re: počítadlo v PHP
už jsem na to došel, napíšu mktime a do závorky datum a hodina, kdy se má cookie zrušit...

Děkuji vám pánové za cenné rady. Mějte se krásně!
MMMMMMMMM avatar 14.11.2009 09:46 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: počítadlo v PHP
Já to právě tak myslel, že 1 započatá návštěva co hodinu, alespoň tak to má toplist.cz ne? :-)
14.11.2009 19:54 PetKon
Rozbalit Rozbalit vše Re: počítadlo v PHP
To nevím, jak to přesně mslíš a toplist.cz jsem myslim neviděl..... Měj příjemný večer!
22.11.2009 18:55 PetKon
Rozbalit Rozbalit vše Re: počítadlo v PHP
Takže jsem použil ten příkaz, který se mi zdál nejlepší (mktime...), ale i tak při každé aktualizaci stránky se mi přičtě jedna návštěva. Chtělo by to nějak vytvořit podmínku pro cookies, aby se při zjištění existující už žádné číslo nepřidávalo.. Poradíte někdo jak na to?

Děkuji
Bedňa avatar 25.11.2009 10:40 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: počítadlo v PHP
Chybu máš v tom, že zakaždým si vytvoríš nový koláčik (cookie), takže to vyriešiš podmienkov pre vytváranie koláčika len keď neexistuje. Kaláčik som nastavil na 10rokov.
if(!isset($_COOKIE['navstevnik'])) {
 pricti_navstevu()
}
else {
 setcookie('navstevnik', true, time()+60*60*24*3650))
}
KERNEL ULTRAS video channel >>>
Bedňa avatar 25.11.2009 10:44 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: počítadlo v PHP
Kurňa CHYBA!!!! Opravené, som to skopčil aj s výkrčníkom :-)
if(isset($_COOKIE['navstevnik'])) {
 pricti_navstevu()
}
else {
 setcookie('navstevnik', true, time()+60*60*24*3650))
}
KERNEL ULTRAS video channel >>>
Bedňa avatar 25.11.2009 10:49 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: počítadlo v PHP
Boha jeho asi som nemal včera chlastať to prvé bolo správne :-)
if(!isset($_COOKIE['navstevnik'])) {
 pricti_navstevu()
}
else {
 setcookie('navstevnik', true, time()+60*60*24*3650))
}
KERNEL ULTRAS video channel >>>
Marián Oravec avatar 25.11.2009 13:12 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: počítadlo v PHP
Podľa mňa skôr takto:
if(!isset($_COOKIE['navstevnik'])) {
    pricti_navstevu();
    setcookie('navstevnik', true, time() + 60 * 60 * 24 * 3650));
}
Mám rád elektro, ale vypočujem si aj iné...
Bedňa avatar 25.11.2009 13:19 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: počítadlo v PHP
Ja som myslel že po 10 rokoch by môhol ten človek dostať amnenstiu na znovu zarátanie :-) To už určite zabudol že tam niekedy bol a je to pre neho vlastne nový web :-)
KERNEL ULTRAS video channel >>>

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.