PHP skript pro rozlišení přístupu mobilního zařízení a PC

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od jankop » 16 úno 2021, 19:58

Netuším, jak na to, ale potřeboval bych, kdyby mi někdo dokázal navrhnout PHP skript, který by identifikoval klienta, který přistupuje na webové stránky a podle toho odeslal normální webové stránky pro PC nebo stránky upravené pro mobilní zařízení. Obojí mám připravené. Nevíte o nějakém již hotovém jednoduchém řešení? Nikdy jsem s PHP nedělal a nějak jsem zatím nic nenašel. Přesto si myslím, že by to nemuselo být nijak zvlášť složité.
Díky za každou pomoc.

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od AstroMiK » 16 úno 2021, 21:00

Jde to přes "HTTP_USER_AGENT".

Příklad:

Kód: Vybrat vše

<?PHP

$agent = getenv ("HTTP_USER_AGENT");

echo "AGENT: " . $agent;

?>

K vyzkoušení třeba tady:
http://astromik.org/forum/agent.php

Pak se musí ze získaného řetězce nějak vytáhnout, jestli jde o mobil, nebo desktop.



PC:
agent_desktop.gif
agent_desktop.gif (9.49 KiB) Zobrazeno 4004 x


Mobil:
agent_mobil.gif

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od KamilV » 16 úno 2021, 22:26

Tohle je přístup asi 10 let starý.
Dnes se separátní verze pro mobily nedělá. To bys pak mohl dělat i verzi pro tablety.

PHP skriptu by mělo být šumák, zda to uživatel otevřel na PC, na netbooku, na tabletu, na mobilu, na smart hodinkách...
Vzhled by se měl přizpůsobit. CSS umí i podle rozlišení servírovat potřebný content.

Proč chceš mobilům posílat něco jiného?
Navíc některé dnešní mobily mají větší rozlišení než staré PC. Takže i rozlišování podle UserAgent nebude vždy dávat smysl.

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od gilhad » 16 úno 2021, 23:19

No nevim, na jednech trivialnich strankach, co se mi na pocitaci zobrazujou naprosto v pohode a prehledne, mi google pri indexovani vyhazel ja nevim kolik chyb, ze jsou na jeho smartphonovem nesmyslu necitelne a nepouzitelne.
Pritom slo o naprosto jednoduche HTML, s nejakyma A HREFama a BR na koncich radku, nic vic. Hlavicka opet trivialne zakladni, zadne CSS, JS, styly, pozicovani, nic - proste naprosto normalni text s odkazama, zobrazte si jak je libo.

uklidnil se teprve az kdyz jsem odradkovani ztrojil a okolo kazdeho A HREFu nasekal radku tvrdych mezer - sice to vypadalo hnusne, ale aspon nerval. Nastesti ty stranky vlestne ani nebyly urceny ani ke cteni, ani ke zpracovani, jen jako ty odkazy nez to google zindexuje a pak sly do haje, takze jsem vzhled neresil.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od KamilV » 16 úno 2021, 23:39

Nedostatečný padding ale může být legitimní důvod, kurzor myši trefí cíl na pixel přesně, kdežto ťuknutí prstem bude +- 10 px.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od jankop » 17 úno 2021, 00:07

Proč chceš mobilům posílat něco jiného?
No ono je to složitější. Proč chci? Protože dělám stránky primitivně a ručně. Na jedné straně to neumím, na druhé straně super profesionální weby se často nedokážou vyrovnat ani s obrázky a člověk, který si chce něco přečíst, čeká čtvrt hodiny, než mu přestanou skákat písmenka před očima. A není to neobvyklý případ. Zdaleka to není stav, který bych chtěl následovat. Viděl jsem jednodušší cestu zdvojit web i když to z hlediska údržby stojí za houby. A dělám to vlastně kvůli SEO, protože obsah mých stránek vlastně pro mobily není :D . Ten je pro lidi, kteří ještě umějí číst. Pořád si ještě myslím, že důležitější je obsah než forma. a současnej web je s prominutím podle mého spíš kupa sraček než cokoliv jiného. No a protože to nikdo za mně nenakóduje, tak to i přes moji neznalost lepím sám.
Jinak dík za rady a názory, asi to s tím PHP nějak spíchnu. Vlastně to bude jedinej skript na celým webu, jinak je to ryzí HTML.

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od gilhad » 17 úno 2021, 00:23

Tak at si to smatlafoun opadduje podle sveho, ja nikde padding nespecifikoval a nikdy jsem neplanoval to pouzivat na smatlafonu.

Ale vrazit tam default A:{padding:10px;} (ktery si aplikace muze, ale nemusi prepisovat), pokud to zarizeni ma takhle blby vstup by melo byt starosti toho zarizeni (lepe receno defaultni nastaveni prohlizece na tom zarizeni), nikoli vlastni aplikace.

To uz bych mohl delat zvlastni verzi pro tablety, kde ta nepresnost taky asi bude jina a nejspis se bude lisit i u jednotlivych modelu ...

Nejak jsem si nevsimnul,ze bychom treba tady na foru pri psani prispevku museli uvadet ochranne mezery okolo odkazu, explicitne zadavat velikost pisma a roztec mezi radky, zjistovat velikost okna v prohlizeci, aby se delsi vety zalomily na spravnych mistech ... tohle vse by melo vychazet spis z defaultu zarizeni, ktera to zobrazuji, nez aby to kazdy matlal do kodu ke kazdemu prvku zvlast. A navic nejspis kazdy nejak jinak, i kdyz by mu nezalezelo na tom zobrazeni, aby bylo na pixel presne, ale stacilo by mu ze je text citelny a odkazy klikatelne, aniz by se musel starat o to, zda se to zobrazuje na pIhone12, nebo pIhone13 a kolik presne ma uzivatel dioptrii. Tohle by si mel uzivatel nastavit jako defaultni velikost (a pripadne typ) pisma, tak aby se mu to cetlo pohodlne a pokud na strance neni uvedeno jinak, tak by se mu mela zobrazit pricetne podle toho nastaveneho defaultu.

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od gilhad » 17 úno 2021, 01:02

Jinými slovy - pokud prohlížeč nedokáže nějak použitelně zobrazit takovouto stránku http://download.gilhad.cz/pokus.html , je podle mě chyba v prohlížeči, nikoli ve stránce, která padding nijak nevynucuje, ani neomezuje:

Kód: Vybrat vše

<!DOCTYPE html>
<html lang="cs-cz">
<head>
  <meta charset="utf-8" />
  <title>Vlastnosti měřáku</title>
</head>
<body>
  <a href="predchozi.html">předchozí</a> <a href="index.html">index</a> <a href="dalsi.html">další</a> <br>
  <a href="merak.html">Měřák</a> dle <a href="schema.html">schéma</a> má následující vlastnosti:<br>
  - odpovídá <a href="zadani.html">zadání</a><br>
  - není drahý<br>
  - jde postavit doma<br>
</body>
</html>
Neříkám, že jde o nějaký skvost, ale podle W3C je validní https://validator.w3.org/nu/?doc=http%3 ... pokus.html Document checking completed. No errors or warnings to show.

Pokud šmatlafoun usoudí, že je uživatel slepý a snímač nespolehlivý, ať si to klidně zobrazí centimetrovými písmeny, řádky odhodí o další centimetr od sebe a okolo odkazů dá ochranný dvoupalcový rantl (a klidně třeba blikací) - ta stránka mu v tom nijak nebrání.
Pokud počítač usoudí, že jde o normální stránku, ať klidně použije písmena vysoká 3 mm, 1 milimetr mezeru mezi řádky a odkazy jen podtrhne. (jak to dělá u mě)
Nebo cokoli jiného si uživatel nastaví jako default.

Ale nechápu, proč bych tohle měl jako autor stránky řešit, když je určená jen pro mě, na mojem počítači se zobrazuje dobře a čitelně, podle normy je validní a stěžuje si jen nějaký blbý googlí spider.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od KamilV » 17 úno 2021, 08:20

jankop píše:
17 úno 2021, 00:07
Proč chci? Protože dělám stránky primitivně a ručně.
Chápu, jen jsem upozorňoval, že rozdělení na PC / mobil už dnes není dostatečné a 2 verze na údržbou neúměrně pracné.
jankop píše:
17 úno 2021, 00:07
na druhé straně super profesionální weby se často nedokážou vyrovnat ani s obrázky a člověk, který si chce něco přečíst, čeká čtvrt hodiny, než mu přestanou skákat písmenka před očima.
Bohužel to nebyly super profesionální weby. Problém je, že weby dnes dělá každej. Ale to už je OT.
jankop píše:
17 úno 2021, 00:07
Viděl jsem jednodušší cestu zdvojit web
Obávám se, že za rok toho rozhodnutí budeš litovat :(
jankop píše:
17 úno 2021, 00:07
A dělám to vlastně kvůli SEO, protože obsah mých stránek vlastně pro mobily není :D
Tak si s tím vůbec tu práci nedávej, SEO užitek bude minimální.
Problém je, že když si uděláš detekci na mobily podle UserAgent, těžko říct, zda se Ti podaří tu podmínku vyladit tak, aby se GoogleBot započítal jako mobil. A u PC verze aby se započítal jako PC. Jsem bohužel hodně přesvědčen, že se to nepodaří. Odvedeš hromadu práce a SEO výsledek bude nulový, resp. spíš to tomu webu asi jen uškodí.
Naposledy upravil(a) KamilV dne 17 úno 2021, 08:24, celkem upraveno 1 x.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: PHP skript pro rozlišení přístupu mobilního zařízení a PC

Příspěvek od KamilV » 17 úno 2021, 08:23

gilhad píše:
17 úno 2021, 01:02
Ale nechápu, proč bych tohle měl jako autor stránky řešit, když je určená jen pro mě, na mojem počítači se zobrazuje dobře a čitelně, podle normy je validní a stěžuje si jen nějaký blbý googlí spider.
Ano, to dává smysl. Bohužel vývojáři prohlížečů si to nemyslí a tak to tak neudělali. Historie je protkaná situacemi, kdy se weby musely prohlížečům přizpůsobovat.
Pokud je stránka určená jen pro Tebe, tak tě nemusí trápit, že jí Google snižuje rank za to, že není optimalizovaná pro mobily, ne? Tak ji úplně odstřihni v robots.txt a máš klid.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů