Avatar billede oldnick Nybegynder
09. august 2006 - 10:09 Der er 7 kommentarer og
1 løsning

Browser/platform tjek

Hej :)

Jeg vil gerne lavet et browser/platform tjek, så jeg kan vælge hvilken css brugeren skal bruge? Hvordan skal det se ud?

Det vigtigste er hvilken platform, det er (mac, pc)!

Jeg har ikke noget kode pt. :)
Avatar billede Slettet bruger
09. august 2006 - 11:34 #1
Det kan du kun gøre i Javascript. - PHP er et serverside-sprog, så du kan ikke indhente anden information end IP adressen og nogle få andre.
Avatar billede oldnick Nybegynder
09. august 2006 - 12:17 #2
Er du sikker?

Jeg har fundet det her script og der lader det til at være en form for tjek.

<?php
//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: tim20000821.php3,v 1.1 2000/08/21 01:44:44 cvs Exp $


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;
}
}


/*
Determine browser and version
*/


if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='IE';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='OPERA';
} elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='MOZILLA';
} else {
$BROWSER_VER=0;
$BROWSER_AGENT='OTHER';
}

/*
Determine platform ::: DET ER HER JEG MENER AT DET SER UD TIL AT LAVE ET TJEK.
*/

if (strstr($_SERVER['HTTP_USER_AGENT'],'Win')) {
$BROWSER_PLATFORM='Win';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Mac')) {
$BROWSER_PLATFORM='Mac';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Linux')) {
$BROWSER_PLATFORM='Linux';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Unix')) {
$BROWSER_PLATFORM='Unix';
} else {
$BROWSER_PLATFORM='Other';
}

echo "\n\nAgent: $_SERVER[HTTP_USER_AGENT]";
echo "<br>\nIE: ".browser_is_ie();
echo "<br>\nMac: ".browser_is_mac();
echo "<br>\nWindows: ".browser_is_windows();
echo "<br>\nPlatform: ".browser_get_platform();
echo "<br>\nVersion: ".browser_get_version();
echo "<br>\nAgent: ".browser_get_agent();

if (browser_get_agent()=='IE') {
echo"<p>Iexplorer</p>";
} else {
echo"<p>anden browser</p>";
}

?>

Jeg kan selv følgelig tage fejl! :)
Avatar billede Slettet bruger
09. august 2006 - 12:58 #3
Det lader til at du har ret. Jeg kan egentlig godt huske sådanne tjek, men hvis du vil lave det detaljeret med brugerens opløsning, farver osv. osv., skal du over i javascript.
Avatar billede Slettet bruger
09. august 2006 - 12:58 #4
Jeg beklager min hurtige afvisning af dit spørgsmål. :)
Avatar billede oldnick Nybegynder
09. august 2006 - 13:36 #5
Det er helt fint, kunne du evt. forklar eller helt lave et simplet script som fortæller mig om brugeren benytter en mac eller PC, det er i bund og grund, det jeg skal bruge. :)
Avatar billede Slettet bruger
09. august 2006 - 13:54 #6
Sådan der:

<?php
//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: tim20000821.php3,v 1.1 2000/08/21 01:44:44 cvs Exp $


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;
}
}


/*
Determine browser and version
*/


if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='IE';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='OPERA';
} elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='MOZILLA';
} else {
$BROWSER_VER=0;
$BROWSER_AGENT='OTHER';
}

/*
Determine platform ::: DET ER HER JEG MENER AT DET SER UD TIL AT LAVE ET TJEK.
*/

if (strstr($_SERVER['HTTP_USER_AGENT'],'Win')) {
$BROWSER_PLATFORM='Win';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Mac')) {
$BROWSER_PLATFORM='Mac';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Linux')) {
$BROWSER_PLATFORM='Linux';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Unix')) {
$BROWSER_PLATFORM='Unix';
} else {
$BROWSER_PLATFORM='Other';
}

if ($BROWSER_PLATFORM=='Win') {
echo"<p>PC</p>";
} elseif($BROWSER_PLATFORM=='Max') {
echo"<p>MAX</p>";
} else {
echo"<p>Anden platform</p>";
}

?>
Avatar billede oldnick Nybegynder
09. august 2006 - 14:36 #7
Tak, der var lige en lille slå fejl i, men det virker.

Her er den opdateret kode:

Tak for hjælpen... :)

<?php
//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: tim20000821.php3,v 1.1 2000/08/21 01:44:44 cvs Exp $


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;
}
}


/*
Determine browser and version
*/


if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='IE';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='OPERA';
} elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$log_version)) {
$BROWSER_VER=$log_version[1];
$BROWSER_AGENT='MOZILLA';
} else {
$BROWSER_VER=0;
$BROWSER_AGENT='OTHER';
}

/*
Determine platform ::: DET ER HER JEG MENER AT DET SER UD TIL AT LAVE ET TJEK.
*/

if (strstr($_SERVER['HTTP_USER_AGENT'],'Win')) {
$BROWSER_PLATFORM='Win';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Mac')) {
$BROWSER_PLATFORM='Mac';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Linux')) {
$BROWSER_PLATFORM='Linux';
} else if (strstr($_SERVER['HTTP_USER_AGENT'],'Unix')) {
$BROWSER_PLATFORM='Unix';
} else {
$BROWSER_PLATFORM='Other';
}

if ($BROWSER_PLATFORM=='Win') {
echo"<p>PC</p>";
} else if($BROWSER_PLATFORM=='Mac') {
echo"<p>MAC</p>";
} else {
echo"<p>Anden platform</p>";
}

?>
Avatar billede Slettet bruger
09. august 2006 - 15:01 #8
Selv tak for points ;o)
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