informationen über den client
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
agent
apache
auskunft
benutzer
betriebssystem
encoding
entsprechenden erweiterungen
funktion
herkunftsland
image
keep
listen
modul
sprache
user
variable
versionsnummer
visitor
window
-
So ich wollte mal fragen wie ich informationen wie zb.: welchen browser er benutzt, welches betriebssystem 2000 oder xp usw herausfinde
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nice danke
-
schreib mal:
<?
phpinfo();
?>
in ne PHP Datei und ruf es auf dann gehste ganz runter da steht einiges SystemRoot, REMOTE _ADDR usw
Arpi -
Hi blacksoul!
Die Variable $_SERVER['HTTP_USER_AGENT'] wurde ja schon genannt. Hier erf?hrst du den Namen des Browsers, eventuell die Versionsnummer und das Betriebssystem unter dem der Browser l?uft.
L?uft PHP auf einem Apache-Webserver als Modul (wie hier auf lima-city), dann steht eine Funktion zur Verf?gung, die hei?t: apache_request_headers()
Diese Funktion liefert ein assoziatives Array (Hash) zur?ck, dass unter Anderem Auskunft ?ber die bevorzugte Sprache des Browser(-Benutzer)s gibt.
$browser_info = apache_request_headers();
print_r($browser_info);
Bestimmte "Browser"-Eigenschaften (Bildschirmgr??e, Gr??e des HTML-Anzeigebereiches usw.) kann man mit PHP nicht herausfinden. Da muss mit JavaScript getrickst werden.
MfG
alopex -
Hi blacksoul!
Die Variable $_SERVER['HTTP_USER_AGENT'] wurde ja schon genannt. Hier erf?hrst du den Namen des Browsers, eventuell die Versionsnummer und das Betriebssystem unter dem der Browser l?uft.
L?uft PHP auf einem Apache-Webserver als Modul (wie hier auf lima-city), dann steht eine Funktion zur Verf?gung, die hei?t: apache_request_headers()
Diese Funktion liefert ein assoziatives Array (Hash) zur?ck, dass unter Anderem Auskunft ?ber die bevorzugte Sprache des Browser(-Benutzer)s gibt.
$browser_info = apache_request_headers();
print_r($browser_info);
Bestimmte "Browser"-Eigenschaften (Bildschirmgr??e, Gr??e des HTML-Anzeigebereiches usw.) kann man mit PHP nicht herausfinden. Da muss mit JavaScript getrickst werden.
MfG
alopex
Ist es also m?glich mit der Variable $_SERVER['HTTP_USER_AGENT'] das Herkunftsland des Users herauszufinden. Kann man sich das dann zu nutze machen, um die Seite in der bevorzugten Sprache des Users, sprich je nach Herkunftsland, als "default" Wert anzuzeigen? -
Alle M?glichkeiten, etwas ?ber den User herauszufinden, beruhen auf Vermutungen. Denn den USER_AGENT-String kann man bei vielen Browsern oder Proxies ?ndern.
Das Land, in dem der Website-Besucher wohnt, kann man ?ber die GeoIP-Datenbank ziemlich genau bestimmen. Unsere compactdisc macht das hier im Life-Test:
http://compactdisc.pyrokar.lima-city.de/
Die GeoIP-Datenbank beinhaltet dazu alle derzeit bekannten IP-Adressen und deren geografische Zuordnung.
http://www.maxmind.com/app/geoip_country
Um die vom Benutzer bevorzugte Sprache zu ermitteln, gibt es eine bessere M?glichkeit. Hol dir mit apache_request_headers() den kompletten HTTP-Header, den der Browser gesendet hat. Dort steht alles, was der Browser (oder sein Benutzer) versteht:
$arh = @apache_request_headers();
if( $arh === FALSE ) {
print("Funktion leider nicht vorhanden!");
exit();
}
print_r($arh);
Wenn die Funktion existiert, dann wird eine Liste ausgegeben, die in etwa so aussieht:
Array
(
[Accept] => text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
[Accept-Charset] => windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
[Accept-Encoding] => deflate, gzip, x-gzip, identity, *;q=0
[Accept-Language] => en-UK;q=1.0,de;q=0.9,en-US;q=0.8,en;q=0.7,de-AT;q=0.6,de-CH;q=0.5,de-DD;q=0.4
[Connection] => Keep-Alive, TE
[Cookie] => Visitor=20050913111628_911
[Cookie2] => $Version=1
[Host] => alopex.pyrokar.lima-city.loc
[If-Modified-Since] => Tue, 20 Sep 2005 19:18:33 GMT
[TE] => deflate, gzip, chunked, identity, trailers
[User-Agent] => Mozilla/5.0 (Windows NT 5.1; U) Opera 7.54 [de]
)
Wichtig ist hierbei der Eintrag "Accept-Language". Der enth?lt die vom Benutzer akzeptierten Sprachen, sortiert nach Bevorzugung.
$acc_lang = $arh['Accept-Language'];
Willst du nur die erste Sprache auslesen, gehst du so vor:
list($lang, ) = split(';', $acc_lang);
Und solltest du die entsprechenden Erweiterungen f?r die Sprache auch nicht brauchen ("-UK", "-US", ...), dann gehts so weiter:
list($lang, ) = split('-', $lang);
In $lang m?sste jetzt ein String stehen, der einem Sprachenk?rzel entspricht ("en", "de", usw.) -- hab ich aber nicht getestet. ?ber das Sprachenk?rzel k?nntest du nun eine Programmverzweigung basteln, die beispielsweise verschiedene Include-Dateien einbindet (je nach Sprache).
MfG
alopex
-
Um das Herkunftsland des Besuchers ausfindig zu machen, kann man GeoIP benutzen.
GeoIP ben?tigt lediglich die IP-Adresse, um herauszufinden, woher der User stammt.
Link: http://www.maxmind.com/ oder
http://www.maxmind.com/app/php
//edit: Meines Wissens ist es nicht m?glich, das Herkunftsland des Besuchers anhand des HTTP-USER-AGENTs zu lokalisieren ...
Beitrag ge?ndert am 22.09.2005 12:51 von compactdisc -
http://www.lima-city.de/tutorials.php?m=show&id=1658
da haste n tut ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage