Avatar billede dj-sejler Praktikant
25. marts 2005 - 13:59 Der er 10 kommentarer og
1 løsning

Hvilket OS har brugeren?

Hej...
jeg skal bruge:
> brugerens OS
> IP > $_SERVER['REMOTE_ADDR']
> browser > $_SERVER['HTTP_USER_AGENT']


Jeg får allerede en masse via javascript
men kan ikke rigtig få de sidste ting...

er der nogen der kan hjælpe?
Avatar billede sukos Juniormester
25. marts 2005 - 14:03 #1
Prøv at kikke på en
<?php
phpinfo();
?>
Avatar billede mjl Nybegynder
25. marts 2005 - 14:03 #2
Måske kan dette bruges ???

<?php
$ip            = $REMOTE_ADDR;
$host            = gethostbyname($ip);

unset ($BROWSER_AGENT);
unset ($BROWSER_VER);
unset ($BROWSER_PLATFORM);

function browser_get_agent () {
    global $BROWSER_AGENT;
    return $BROWSER_AGENT;
}

function browser_get_version() {
    global $BROWSER_VER;
    return $BROWSER_VER;
}

function browser_get_platform() {
    global $BROWSER_PLATFORM;
    return $BROWSER_PLATFORM;
}

function browser_is_mac() {
    if (browser_get_platform()=='Mac') {
        return true;
    } else {
        return false;
    }
}

function browser_is_windows() {
    if (browser_get_platform()=='Win') {
        return true;
    } else {
        return false;
    }
}

function browser_is_ie() {
    if (browser_get_agent()=='IE') {
        return true;
    } else {
        return false;
    }
}

function browser_is_netscape() {
    if (browser_get_agent()=='MOZILLA') {
        return true;
    } else {
        return false;
    }
}



if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='Internet Explorer';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='OPERA';
} elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='Netscape';
} else {
    $BROWSER_VER=0;
    $BROWSER_AGENT='Anden';
}



if (strstr($HTTP_USER_AGENT,'Win')) {
    $BROWSER_PLATFORM='Windows';
} else if (strstr($HTTP_USER_AGENT,'Mac')) {
    $BROWSER_PLATFORM='Mac';
} else if (strstr($HTTP_USER_AGENT,'Linux')) {
    $BROWSER_PLATFORM='Linux';
} else if (strstr($HTTP_USER_AGENT,'Unix')) {
    $BROWSER_PLATFORM='Unix';
} else {
    $BROWSER_PLATFORM='Anden';
}

?>
Avatar billede dj-sejler Praktikant
25. marts 2005 - 14:21 #3
--> mjl

syntes ikke det er rigtig godt...
Den genkender ikke Opera og Firefox!
Opera 7,54 kalde den Internet Explorer 6,0
og Firefox 1,02 kalder den Netscape 5,0

og den giver kun Windows... ikke hvilken...
Avatar billede bromer Nybegynder
25. marts 2005 - 14:25 #4
Det er jo helt op til browserne at give denne information. Jeg kan jo sætte min Opera op til at identificere sig som en IE 6 på Windows selvom jeg kører på Linux. Hvad skal du dog bruge den information til?
Avatar billede dj-sejler Praktikant
25. marts 2005 - 14:27 #5
statistik...
Avatar billede bromer Nybegynder
25. marts 2005 - 14:40 #6
okay, men det er som sagt op til den applikation der sender forespørgsler til webserveren at identificere sig selv, så du kommer nok ikke meget længere end de svar du allerede har fundet.
Avatar billede dj-sejler Praktikant
25. marts 2005 - 14:44 #7
okay...
så arbejder jeg bare videre med dem...
tak
Avatar billede coderdk Praktikant
25. marts 2005 - 20:54 #8
"Opera 7,54 kalde den Internet Explorer 6,0"

Er du sikker på at du ikke har sat din Opera op til at indentificere sig om IE 6.0?
Avatar billede dj-sejler Praktikant
25. marts 2005 - 21:13 #9
hvis det er mig du spørger så har jeg ikke gjort noget... har bare installeret den...

$HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [da]
udfra det syntes jeg ikke det ser sådan ud... men er da ikke sikker...
Avatar billede coderdk Praktikant
25. marts 2005 - 21:49 #10
Den finder MSIE 6.0 først, ændr evt.:

if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)
    && !ereg( 'Opera ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='Internet Explorer';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='OPERA';
} elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) {
    $BROWSER_VER=$log_version[1];
    $BROWSER_AGENT='Netscape';
} else {
    $BROWSER_VER=0;
    $BROWSER_AGENT='Anden';
}
Avatar billede dj-sejler Praktikant
26. marts 2005 - 16:51 #11
--> coderdk
jeg havde også løst det... men tak alligevel
men mjl får pointene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester