Starší komentáře ke článku: Statistika přístupů v PHP - rozlišení a barevná hloubka

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 21.2.2004 7:29:55

Trochu OT: Stále mě fascinuje na některých serverech, jak se ohánějí statistikami, že např. 800x600 už skoro nikdo nepoužívá, ale to, že je to závislé na zapnutém JavaScriptu, se taktně mlčí. Takže zrovna statistiky typu barevná hloubka a rozlišení naplňují bez pardónu a dokonale ono známé: "Je malá lež, velká lež, a pak statistika".
Používám 800x600 (protože mi vyhovuje), ale např. Interval (a většinou ani nikdo jiný, když netrvá na JS a není to nutně zajímavá stránka) se to jinak nikdy nedozví :-)
Ostatně, zjištění rozlišení je tak jako tak k ničemu (velikost opravdu "zabrané" plochy zobrazovacího zařízení to stejně neřekne - a to ani něco jako "availWidth", a uživatelovo nastavení rozlišení mi jako adminovi může být stejně šumafuk).
Statistiky pro prohlížeče jsou zase spíš na to, abych mohl dokázat, že 94,8 % MSIE (viz Živě) je už na hodně webech pitomost.
Jinak mě poměr "MSIE versus zbytek světa" (jak některé ubožejší statistiky uvádějí) nechává naprosto chladným - viz důsledné XHTML Strict a pár nutných hacků (pro MSIE, samozřejmě).

Avatar

Autor komentáře: Leo

Datum vložení: 21.2.2004 10:42:00

Kdyz vas to nezajima tak to proste nezjistujte. Leo

Avatar

Autor komentáře: moon

Datum vložení: 21.2.2004 13:42:08

ty seš magor... a komu to jako cpeš?

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 21.2.2004 23:07:42

Tak nic, zase jsem narazil na velice "inteligentní" odpovědi bez špetky slušnosti a bez hlavy a paty, že já sem vůbec lezu napsat svůj názor. A já myslel, že od toho jsou komentáře... No nic, spláchnul jsem, ale pořád to tu nějak zavání, takže se klidím. Teď už si tu račte tyhle toalety uklízet sami.

Avatar

Autor komentáře: Pavel Kodýtek

Datum vložení: 22.2.2004 0:00:50

Interval nesleduju zas tak často, takže jsem sem zavítal dnes čistě náhodou. Předně bych chtěl vyjádřit panu Kebrtovi uznání za to, že se zmínil o mé maličkosti jako o autoru tabulky rozlišení.
Na rozdíl od pana Nováka já považuji rozlišení za jednu z velmi cenných informací ve statistikách a to z prostého důvodu. V dnešní době se stále častěji setkáváme i s alternativními zařízeními k zobrazování webových stránek, jako jsou například Palmy, WebTV a další, takže je navísost nutné stránky přizpůsobit i pro tyto zařízení. Nic nezahřeje správného webmástra víc, než pochvala, že jeho stránky jsou například v palmu nejčitelnější ze všech, které kdy chválící na palmu měl možnost shlédnout. Tabulku jsem tvořil se zdrojů dostupných na internetu a již dnes například vím, že mi zde chybí dvě základní rozlišení jako je <B>320 x 320</B> a <B>544 x 372</B>, takže si je do své tabulky laskavě přidejte. Navíc bych vás všechny chtěl upozornit, že pokud byste chtěli upgradovat tabulku rozlišení na starých statistikách, které zde již jednou pan Kebrt zveřejnil, je nutné, abyste <B>nová rozlišení</B> přidali <B>za stávající</B> a nenahradili si starou tabulku za novou - v takovém případě by vám totiž došlo ke zkreslení starých statistik. Pak je tu ještě jedna možnost, která se poněkud vymyká rozsahu seriálu a tou je vlastní zjišťování neznámých rozlišení a přidávání do tabulky, takže pokud by někdo chtěl opravdu přesnou statistiku, bude si muset skript upravit tak, že pokud se v tabulce rozlišení nenajde, zjistěná hodnota se do tabulky přidá.

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 22.2.2004 1:19:29

Jednodušší a čistší by ale bylo místo indexu do pevné tabulky "povolených" rozlišení ukládat rovnou šířku a výšku. Ta tabulka rozdělená na "standardní" a "ostatní" by se pak vytvořila až při prezentaci. Tím by veškeré problémy s novými (a neočekávanými) rozlišeními odpadly.

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 22.2.2004 7:02:04

"takže je navísost nutné stránky přizpůsobit i pro tyto zařízení"

Ano, ale nevidím v tom souvislost. Např. mobily s Explorerem mají i rozlišení 176 x 220 (Smartphone, Motorola atd.), 128 x 160 (Nokia)... Takže dělat stránky i pro malá rozlišení ano, ale IMHO není potřeba tato rozlišení nutně znát, protože je jich mnoho, a je to tudíž zbytečné... Ostatně s podporou malých rozlišení se to má stejně jako s podporou velkých.
A mimochodem, některá mobilní zařízení odmítají zobrazovat nevalidní stránky, takže se často lidé zlobí, že ten "krám" na Internet nefunguje, a ono je to tím, že tvůrce většiny stránek jaksi nějaká validita nezajímá. A není to ani moc OT, protože to s výše zmíněným veskrze souvisí. Můžete to mít přizpůsobeno jak chcete (odříznutím CSS), ale pokud to není validní, mnoho uživatelů neuvidí stejně nic, jen max. chybovou hlášku.

Ale děkuji za příspěvěk a odpověď, po včerejšku jsem snad ani nedoufal, že se tu v tomto threadu objeví něco jiného než flamewar.

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 22.2.2004 15:02:43

co je to ten flamewar? dá se to říct taky česky?

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 22.2.2004 15:21:42

OT - mimo téma
IMHO - podle mého skromného názoru
flamewar - výměna názorů, jenomže agresivní (a "nejlépe" ještě urážející)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 22.2.2004 18:09:53

Flamewar je především diskuze, v níž se účastníci uchylují k iracionální argumentaci a která nevede k relevantnímu závěru. Česky řečeno bezvýsledná hádka ;-)

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 22.2.2004 19:50:35

Ano, ostatně zažil jsem to tu na vlastní kůži (závěr pohádky: "...a kdyby to lidi neunavilo a nepřestalo bavit, flamewarují tam dodnes") :-)
Mimo toho "nekonečná" je ale i to slovo "hádka" výjimečně vystihující :-)
Pěkný dvojslovný překlad.

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 22.2.2004 19:52:30

Tedy bezvýsledná, ne nekonečná...

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 22.2.2004 21:48:33

No ale ona ta hádka je skutečně bezvýsledná i nekonečná ;-)

(A teď tady rozjedem flame o nejlepší překlad pojmu flameware ;-)

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 22.2.2004 22:16:52

Nekonečná není. Nekonečné je tak Ludolfovo číslo, ale žádná diskuze ;-)
Ne, to už je slovíčkaření, a ani toho se nehodlám zúčastnit, takže končím :-)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 22.2.2004 23:24:29

Poskytněte pozitivní důkaz, že je Ludolfovo číslo nekonečné a můžem skončit ;-)

Avatar

Autor komentáře: Jiří Novák

Datum vložení: 23.2.2004 21:32:51

Tak končíme, protože to jste hodně zaspal dobu, asi tak 250 let :-) To, že je číslo ¶ iracionální dokázal už v roce 1761 Johann Heinrich Lambert (1728-1777).
A iracionální čísla jsou definována jak? Čísla, které mají nekonečný počet desetinných míst (mimo čísel periodických) ;-)

Avatar

Autor komentáře: Bochi

Datum vložení: 23.2.2004 21:59:43

Rekl bych, ze pan Malek nezaspal dobu, ale mozna se umi presneji vyjadrovat :-). Ludolfovo cislo neni nekonecne, nybrz iracionalni (jak pisete spravne az v druhem prispevku). Neboli "cislo s nekonecnym desetinnym rozvojem" != "nekonecne cislo".
Ale zanechme uz slovickareni, nez se z toho opravdu stane hromadne hastereni (muj preklad flameware :-)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 23.2.2004 22:03:41

No já říkal pozitivní důkaz. Domníval jsem se, že ve Vámi zmiňovaném případě šlo o důkaz negativní ;-)


(A flame vesele pokračuje dále ;-)

Avatar

Autor komentáře: MiChlu

Datum vložení: 23.2.2004 7:56:50

Jak je to s rozeznanim rozliseni u LCD monitoru, pokud ho mam otoceny na stojato? Mozna placam hovadinu, nemam to vyzkouseny, jak se v tomto pripade chova JavaScript. Osobne pri praci s textem nebo s internetem si monitor otacim.
Mozna by nebylo od veci rozsirit PHP skript a zohlednit tuto variantu.

Avatar

Autor komentáře: Leo

Datum vložení: 23.2.2004 13:10:23

O otaceni monitoru slysit prvne, ale muzete si to sam vyzkouset: napiste do adresniho radku prohlizece

javascript:alert(screen.width)

a zmacknete Enter

pokud mate zapnuty JS, uvidite, jestli se to lisi pro novou polohu monitoru. Leo

Avatar

Autor komentáře: Josef Fraj

Datum vložení: 23.2.2004 18:54:04

Pred casem jsem si na zkousku nainstaloval puvodni verzi nyni aktualizovaneho pocitadla. Mam LCD s rozlisenim 1280x1024. Pokud pouziji PIVOTa a dam si ji na stojato, tak pocitadlo registruje rozliseni 1024x1280, ktere ovsem neni v databazi, takze se dostanu do kolonky OSTATNI. Kdyz jsem databazi doplnil o "stojata" rozliseni (tedy kratsi x delsi strana) tak se v nich monitory pouzivajici PIVOTa objevi v prislusne kolonce.

Avatar

Autor komentáře: David

Datum vložení: 23.2.2004 14:56:54

Dobrý den,
asi je to mimo tento článek ale mám problém vytvořit sloupcový graf se sloubcem v pozadi, tak aby byl silnější a vycentrovany. Dva sloupce a sobě nejdou vycentrovat zvlašť. Nevítě jestli to vůbec jpgraph umožňuje. Děkuji za jakoukoliv pomoc. D.

kód:

include ("./../grafy/jpgraph.php");
include ("./../grafy/jpgraph_bar.php");

// We need some data
$datay=array(91.59203,87.92257,70.21092,44.43802,62.61196,85.19214,88.55822,85.1777,46.77839,85.37995,91.41866,
82.49061,61.60069,77.0731,74.0104,69.79197,67.52383,76.74083,65.89618);
$datay_skola=array(94.8718,82.05128,82.05128,58.97436,56.41026,87.7949,89.74359,94.8718,71.79487,97.4359,
94.8718,94.8718,71.79487,84.61539,74.35897
,76.92308,79.48718,89.74359,56.41026);

$graph = new Graph(885,568,"auto");

$graph->SetScale("textlin",0,100);
$graph->img->SetMargin(40,40,40,70);
$graph->title->Set('Testovací graf');
$graph->title->SetColor('black');

$graph->yaxis->SetFont(FF_FONT1);

$bplot = new BarPlot($datay);
$bplot->SetWidth(0.3);
$bplot->value->Show();
$bplot->SetColor("navy");
$bplot->value->SetFont(FF_VERDANA,FS_NORMAL,10);
$bplot->value->SetAngle(45);

$skolaplot = new BarPlot($datay_skola);
$skolaplot->SetWidth(0.6);
$skolaplot->SetValuePos('center');
$skolaplot->setcolor("red");
$skolaplot->setfillcolor("red");

$graph->Add($skolaplot);
$graph->Add($bplot);
$graph->Stroke();

Avatar

Autor komentáře: Nothing

Datum vložení: 24.2.2004 9:32:08

Ale to se dalo cekat, jsme preci na Intervalu ne ? :-))

Avatar

Autor komentáře: Martin Majliš

Datum vložení: 25.2.2004 18:30:05

Dobrý den. Chtěl jsme udělat statistiku, jako je tato a nefunguje mi ani ta nejzákladnější věc, jako zpracování scriptu, na který odkazuje obrázek.
když mám:
index.php:
<img src="muj_script.php">
vypis $GLOBALS['test'] a $_SESSION['test'];
a v muj_script.php:
$GLOBALS['test'] = 5;
$_SESSIONS['test'] = 5;

Tak to stejně nic nevypíše. Není mi jasné proč.
Děkuji za radu.

Avatar

Autor komentáře: Honza

Datum vložení: 26.2.2004 14:31:10

Hmm, mas zaple registe-r_globals v php.ini?

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 26.2.2004 15:14:08

Pokud jsem správně pochopil, o co se snažíte, pak je to naprostý nesmysl. V okamžiku, kdy začne zpracování skriptu muj_script.php, ve většině případů ten druhý už dávno doběhl. Takže mu těžko může předat nějaké proměnné, a to ani přes session.

Avatar

Autor komentáře: Leo

Datum vložení: 29.2.2004 23:30:13

Zkuste si nejdriv ujasnit v jake posloupnosti probiha

1, Vyzadani stranky na serveru prohlizecem
2, Beh PHP skriptu a vytvoreni html kodu
3, Odeslani HTML kodu prohlizeci
4, Pripadne vyzadani obrazku odkazovanych v HTML na serveru

Leo

Avatar

Autor komentáře: xdeimosx

Datum vložení: 1.3.2004 18:26:39

Mne to vobec nefunguje. Ako keby mi ten obrazok nebralo, proste do tych premennych sa nic nenasetuje a ten subor sa vobec nevykona. co s tym?

Avatar

Autor komentáře: Michal Kebrt

Datum vložení: 1.3.2004 18:39:14

Predpokladam, ze jste si stahnul starou verzi, ve ktere je par chyb a par veci, ktere se uz dneska prakticky nepouzivaji (napr. tam chybi $_GET, $_SERVER, atp.). Co s tim? Pockat az se s poslednim aktualizovanym clankem objevi i aktualizovana verze pro download nebo si skripty upravit vlastnorucne jiz nyni ;-)

Avatar

Autor komentáře: xdeimosx

Datum vložení: 6.3.2004 19:44:57

No moj problem je v tom, ze sa nevykona vobec subor, ktory som zadal v img a to nie je len problem chybajuceho $_GET a $_SERVER. Proste to co je v <img src ="skript.php"> sa nevykona (samozrejme su tam aj premenne, ale tie sa mi nechcelo vypisovat). A proste nech je obsah suboru hocijaky s podmienkami, bez podmienok, tak sa proste nevykona.

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 6.3.2004 22:33:50

Jak to víte, že se nevykoná? Pokud ho vložíte popsaným způsobem, je jeho výstup prohlížečem chápán jako obrázek. Pokud v něm vygenerujete něco, co není obrázkem, prohlížeč to bude ignorovat a samozřejmě vám to nevypíše.

Avatar

Autor komentáře: Pavel Kodýtek

Datum vložení: 15.3.2004 18:19:18

Nevím, neznám, ale zrovna nedávno jsem stěhoval svoje stránky <a href='http://www.finance.paysoft.cz/' target='_blank'>http://www.finance.paysoft.cz/</a> na jinej server, a nechodily mi tam ty staré statistiky, který jsem si sice opravil a vylepšil, takže mi chodily i s register_globals = off.

No na novým serveru ale nechodily, i přesto, že na původním hostingu chodily bezvadně. Něco málo zkoumání a zjistil jsem, že se skript nevykoná, protože místo generování obrázku je plnej chybových hlášení o tom, že headers už byly poslaný a že je nelze znova odesílat. Problém je v tom, že napřed se musí odeslat všechny headers a cookies a pak teprve smí být jakýkoliv výstup na obrazovku.

Tím výstupem jsou myšleny i prázdné řádky nebo mezery. Prohodil jsem si tedy řádku SetCookie s řádkou "header('Content-type: image/png');" , vymazal jsem prázdné řádky a vše začalo fungovat.

Popsal bych vám tu i čísla řádků, ale protože jsem si ve skriptu udělal významné změny, musel bych to hodně zkoumat, jak to vlastně bylo a jak to mám, takže to nechám na vás samých.

Pomůckou pro zjištění funkčnosti skriptu je volání jeho samotného a podívání se do výsledného výstupu, co tam vlastně skutečně je...

Doufám, že vám to pomůže...

Avatar

Autor komentáře: Dan

Datum vložení: 29.6.2004 15:16:12

Dneska jsem se pokoušel všechno udělat sám, ale zasekl jsem se na rozlišení a detekci barvy. Vymyslel jsem něco takového:

<script language="JavaScript" type="text/javascript">
<!--
document.write("<img src=\"pocitadlo.php?referer=" + escape(top.document.referrer) + "&screenres=" + screen.width + "x" + screen.height + "&colordepth=" + screen.colorDepth + "\" width=\"1\" height=\"1\" alt=\"\">");
// -->
</script>

<noscript>
<img src="pocitadlo.php" width="1" height="1" alt="" border="0">
</noscript>
<?
Include "inc/conn.php";

// ROZLISENI
$resolution = 0;
if (isset($_GET['screenres'])) {
$screenres = addslashes($_GET['screenres']);
$query = mysql_query("SELECT id FROM resolution WHERE screenres = '$screenres'");
if ($result = mysql_fetch_array($query))
$resolution = $result['id'];
}

// BAREVNA HLOUBKA
$depth = 0;
if(isset($_GET['colordepth'])) {
$colordepth = addslashes($_GET['colordepth']);
$query = mysql_query("SELECT id FROM colordepth WHERE depth = '$colordepth'");
if ($result = mysql_fetch_array($query))
$depth = $result['id'];
}
echo "Rozlišení: $resolution<br />";
echo "Barvy: $depth<br />";
?>

Má to vůbec šanci něco vykonat? Nebo lépe, kdy bude tento seriál dokončen

Avatar

Autor komentáře: Michal Kebrt

Datum vložení: 29.6.2004 18:44:03

Na prvni pohled tam zadnou chybu nevidim (ta druha cast je predpokladam v pocitadlo.php). Serial by mel byt ukoncen do konce cervence.

Avatar

Autor komentáře: Dan

Datum vložení: 30.6.2004 9:31:45

Díky za odpověď, takovou rychlost jsem nečekal.
Vyhodnocení jsem nedělal, chtěl jsem zjistit, jetli mám něco v těchto proměných:

echo "Rozlišení: $resolution<br />";
echo "Barvy: $depth<br />";

Obě hodnoty jsou ale nula.

Avatar

Autor komentáře: Michal Kebrt

Datum vložení: 30.6.2004 19:22:13

Mozna, ze tam preci jen nejaka chybka bude. Zkuste si stahnout kompletni zdrojaky te stare verze (je to 12. dil), treba Vam pomuzou.

Avatar

Autor komentáře: looser

Datum vložení: 26.5.2006 11:04:56

INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('0', 'Jiné'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('1', '640x480'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('2', '790x566'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('3', '800x600'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('4', '832x624'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('5', '960x720'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('6', '1000x700'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('7', '1024x600'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('8', '1024x640'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('9', '1024x742'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('10', '1024x768'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('11', '1152x768'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('12', '1152x864'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('13', '1152x870'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('14', '1152x900'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('15', '1280x768'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('16', '1280x800'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('17', '1280x854'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('18', '1280x960'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('19', '1280x977'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('20', '1280x1024'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('21', '1360x1020'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('22', '1400x1050'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('23', '1440x900'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('24', '1600x600'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('25', '1600x998'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('26', '1600x1024'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('27', '1600x1200'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('28', '1600x1280'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('29', '1920x1200'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('30', '2048x1768'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('31', '2048x768'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('32', '2304x864'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('33', '2560x960'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('34', '2560x1024'); INSERT INTO <resolution< ( <id< , <screenres< ) VALUES ('35', '3840x1024');

Avatar

Autor komentáře: Ondra

Datum vložení: 15.8.2006 16:10:10

Malinko mi přijde zbytečné takto sledovat informaci o odkazující stránce, neboť ta se přeci posílá v hlavičce HTTP a lze ji zjistit z globální proměnné $_SERVER["HTTP_REFERER"] - bez JavaScriptu a bez dalsich okolku. Kromě rozlišení a poněkud zbytečné informaci o barevné hloubce ještě z toho můžete vyčíst, kolik uživatelů má/nemá zaplý JavaScript. A jen tak pro zajímavost - správně by se to slovo mělo psát refeRRer, tedy se dvěma R - odkazovač, ale překlep s jedním R je tak starý a tak rozšířený, že ho dokonce přijali do HTTP specifikací a z refeRer se stal technický termín.

Zpět na článek | Úvodní stránka Interval.cz