Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok NapísalOffline : 13.10.2008 14:39

zdravim.

robim web a ma byt tam funkcia, ktora zisti odkial je uzivatel a na zaklade toho ho presmeruje na jazykovu mutaciu webu.

jedna sa o cz, sk, en, ger a pl verzie.

ako na to?

bude tam index.php .. ktory ma bude odkazovat na

cz/index.php
sk/index.php
en/index.php
ger/index.php
pl/index.php


Offline

Skúsený užívateľ
Skúsený užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.10.2008 15:05

stat mozes zistit tka mozno podla IP, ale to nie je najlepsia cesta
skus pouzit $_SERVER["HTTP_ACCEPT_LANGUAGE"]
tam by mohol byt jazyk ktory preferuje uzivatel. neviem ale ci tuto informaciu korektne pozsielaju vsetky browseri a neviem ako sa to bude spravat ked mas OS a browser inych jazykovych verziach. napri anglicky windows, cesky browser, ale si slovak :)







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 13.10.2008 15:12

dik, napadlo ma este $jazyk = $_SERVER['HTTP_USER_AGENT'];

tam vidim vo vystupe sk ... v tom tvojom vystupe mam toho viac ... mne vyhodilo: sk,cs;q=0.8,en-us;q=0.5,en;q=0.3
takze to nemozem pouzit


este vie mi niekto povedat, ake skratky presne vyhodi vysledok prikazu $jazyk = $_SERVER['HTTP_USER_AGENT'];
ak je to v krajine cz, pl, nemecku a anglicku?

zatial to mam takto:
Kód:
<?php 
   session_start();
   
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'cz') )
{
$_SESSION['lang']='cz';

}
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'sk') )
{
$_SESSION['lang']='sk';
}
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'en') )
{
$_SESSION['lang']='en';
}
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'de') )
{
$_SESSION['lang']='de';
}
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'pl') )
{
$_SESSION['lang']='pl';
}
elseif ( empty($_SESSION['lang']) )
{
$_SESSION['lang']='cz';
}

header("Location: " . $_SESSION['lang'] ."/index.php");



?>


//nabuduce edit, inak to rovno mazem. suchy


Offline

Skúsený užívateľ
Skúsený užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.10.2008 16:02

namiesto else if empty by stacilo else







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 13.10.2008 16:03

GoodWill píše:
namiesto else if empty by stacilo else

dik, ale myslim ze aj takto je to OK ;)


Offline

Skúsený užívateľ
Skúsený užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.10.2008 16:47

nie je, pretoze ak tam bude mat niekto napriklad fr, tak mu zobrazis co?
404, page /fr/index.php not found? :)







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 190
Témy: 40
Bydlisko: BA
Príspevok NapísalOffline : 13.10.2008 17:11

a myslis ze je to najlepsie riesenie? ... bo napr. v $_SERVER['HTTP_USER_AGENT'] v google chrome naslo aj pl (apple) a ako jazyk je tam nastaveny en (sk ani cz tam neni ani spomenuty, a pritom mam cesky win a slovensky browser)... no a asi by som zo stranky odisiel keby bola v polcine...


Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 13.10.2008 17:56

GoodWill píše:
nie je, pretoze ak tam bude mat niekto napriklad fr, tak mu zobrazis co?
404, page /fr/index.php not found? :)

ale ak tam bude mat fr, tak premenna session nebude naplnena, teda bude splnena posledna podmienka elseif ( empty($_SESSION['lang']) ) a hodi ho na predvolenu cz verziu ...


Offline

Skúsený užívateľ
Skúsený užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 14.10.2008 7:56

ah, ano, prehliadol som ze tam miesas session a server :)
aspon sa v tom vyznas ty







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Správca fóra
Správca fóra
zistenie statu odkial je uzivatel

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 14.10.2008 12:40

myslim, ze je uplne postacujuce, ked budes kontrolovat len hodnotu $_SERVER['HTTP_ACCEPT_LANGUAGE'], lebo user_agent nemusi obsahovat ziadnu hodnotu popisujucu jazyk, alebo inu ako je preferovany jazyk, takisto moze nastat aj problem, ktory nacrtol m4r14n...

Tiez nechapem, preco ukladas jazyk do session, je to zbytocne, mozes si to predsa zistit z url...

Kód:
<?php
if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
   $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
if(!isset($lang) || (!empty($lang) && !eregi("[cz|sk|en|de|pl]",$lang))) {
   $lang = "cz";
}

header("Location: " . strtolower($lang) ."/index.php");
?>


Naposledy upravil stenley dňa 14.10.2008 12:47, celkovo upravené 1






_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 14.10.2008 12:46

ahoj stenley ... vdaka za lepsi navod ...

inak nic nie je zbytocne :)
ja potrebujem v dalsich strankach tu premennu lang, preto ju ukladam do session.

na zaklade tej premennej sa nastavuju obrazky v menu v roznych jazykovych verziach a podobne.


Offline

Správca fóra
Správca fóra
zistenie statu odkial je uzivatel

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 14.10.2008 12:50

podla mna to je zbytocne :) jazyk si predsa mozes zistit z url... na co to davat este aj do session? to by si tam mohol rovno ukladat aj hodnoty z GET a pod... navyse, tak ci tak budes musiet kontrolovat, ci je v session spravna hodnota, takze na tvojom mieste by som siel cestou ziskavania jazyka z url :)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 14.10.2008 12:53

stenley píše:
podla mna to je zbytocne :) jazyk si predsa mozes zistit z url... na co to davat este aj do session? to by si tam mohol rovno ukladat aj hodnoty z GET a pod... navyse, tak ci tak budes musiet kontrolovat, ci je v session spravna hodnota, takze na tvojom mieste by som siel cestou ziskavania jazyka z url :)

strasne vela zbytocnych veci je na svete, ja viem :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.02.11
Prihlásený: 12.04.14
Príspevky: 6
Témy: 2
Príspevok NapísalOffline : 07.02.2011 10:34

Dobrý deň,
viem že táto diskusia už nie je dávno aktuálna, no v Googli som hľadal niečo o automatickom presmerovaní podľa jazyka prehliadača a medzi prvými príspevkami bol aj tento... Skúšal som ho a chcem len povedať, že nie je veľmi presný. Napr. ak máte v Mozille nastavený NL jazyk a ďalší za ním je nastavený SK jazyk, tak sa nepresmeruje na CZ, ale na SK!!! Len toľko...

stenley píše:
myslim, ze je uplne postacujuce, ked budes kontrolovat len hodnotu $_SERVER['HTTP_ACCEPT_LANGUAGE'], lebo user_agent nemusi obsahovat ziadnu hodnotu popisujucu jazyk, alebo inu ako je preferovany jazyk, takisto moze nastat aj problem, ktory nacrtol m4r14n...

Tiez nechapem, preco ukladas jazyk do session, je to zbytocne, mozes si to predsa zistit z url...

Kód:
<?php
if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
   $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
if(!isset($lang) || (!empty($lang) && !eregi("[cz|sk|en|de|pl]",$lang))) {
   $lang = "cz";
}

header("Location: " . strtolower($lang) ."/index.php");
?>


Offline

Užívateľ
Užívateľ
zistenie statu odkial je uzivatel

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 07.02.2011 11:19

http://php.net/manual/en/ref.geoip.php
http://geolite.maxmind.com/download/geoip/api/php/


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.02.11
Prihlásený: 12.04.14
Príspevky: 6
Témy: 2
Príspevok NapísalOffline : 07.02.2011 12:05

staci len za cz vymenit za cs a tieto zatvorky [] vamazat :

<?php
if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
if(!isset($lang) || (!empty($lang) && !eregi("[cz|sk|en|de|pl]",$lang))) {
$lang = "cz";
}

header("Location: " . strtolower($lang) ."/index.php");
?>


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. zistenie IP adresy, alebo ako mam zistit ci je FAKE uzivatel

v Bezpečnosť a firewally

1

3481

22.11.2010 0:58

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Peniaze v rukach statu (Bruselu)

v Spoločnosť, politika, psychológia, filozofia, náboženstvo

12

1155

08.08.2006 22:41

aaggii Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. uživatel

v Operačné systémy Microsoft

2

251

09.06.2013 16:48

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Obmedzeny uzivatel...

v Operačné systémy Microsoft

4

907

03.10.2005 21:32

p2p Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spamer? uzivatel Kratko

v Správy pre vedenie fóra

1

1040

26.09.2007 22:03

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odkial prisiel?

v Redakčné systémy

2

927

19.01.2008 19:45

Numline1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odkial notebook ?

v Notebooky a netbooky

9

503

11.11.2013 14:37

nescafe Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Internet odkial?

v Poskytovatelia internetu

0

631

03.01.2008 1:47

cubb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prosim help nejde iny uživateľ

v Operačné systémy Microsoft

5

275

03.02.2013 12:02

WeXo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Lubuntu - zabudnuty uzivatel a heslo

v Operačné systémy Unix a Linux

2

519

24.09.2016 12:10

subino Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oznámenie že uživateľ pridal príspevok...

v Správy pre vedenie fóra

6

1276

05.10.2007 14:55

eXistenZ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php fusion- prihlaseny uzivatel=premenna

v Redakčné systémy

2

717

25.02.2009 11:09

mokus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odkial objednat HP LP2275w?

v Monitory, televízory a projektory

6

822

12.12.2008 22:22

tommy1104 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Neviem odkiaľ stiahnuť ovládač.

v Ovládače

1

460

30.09.2015 18:48

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odkiaľ pochádzate / kde bývate?

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Krčma

43

2401

15.11.2009 11:18

M.Valasek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. odkial to mam kupit?

v Pamäte

2

801

16.02.2009 17:47

ac.milan Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra