ElRuso
 
ElRuso
 
#1 18 mar 10, 14:25
#1 18 mar 10, 14:25

PHP saber que Browser se usa?

La verdad es que nesesito un codico que funcciona con copy & paste. Si tendria la oportunidad de testear lo que escribo paso a paso no lo pederia.

Lo que nesisto es algo muy simple, dependiendo del tipo de browser escribir texto diferent, algo asi:

<?php

If (browser==Firefox) {
echo "bla bla";
}elseif (browser==IE) {
echo "no bla no bla";
} elseif (browser==Chrome) {
echo "no bla no bla";
} else { echo "khmmm?";
}

?>


Gracias de antemano...
  1
txandy
 
txandy
 
#2 18 mar 10, 14:31
#2 18 mar 10, 14:31
supongo que con esta función podrás sacar lo que quieres...

http://www.webintenta.com/detectar-...dor-con-php.html

con esa funcion te saca el explorador que tienes, pues a partir de hay los if

if (ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) == Opera)
{
echo "tarari que te vi";
}

EDITO: Pensado mejor, editas lo que te devuelve la función por lo que quieres poner y ya esta , es decir si la función te devuelve, Opera, pues cambias eso por la frase que quieres utilizar
 
ElRuso
 
ElRuso
 
#3 18 mar 10, 16:09
#3 18 mar 10, 16:09
Gracias #2

Basandos en link que me pusiste tengo ese codigo.

<?php

if (ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) == 'Mozilla Firefox'){
echo "Mozilla";
}elseif (ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) == 'Lynx') {
echo "Pro";
}elseif (ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) == 'Internet Explorer') {
echo "IE";
} else {
echo "khmmm";
}

function ObtenerNavegador($user_agent) {
$navegadores = array(
'Opera' => 'Opera',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Mozilla'=>'Gecko',
'Lynx' => 'Lynx',
'Konqueror'=>'Konqueror',
'Internet Explorer' => '(MSIE)',
'Internet Explorer 6' => '(MSIE 6\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return 'Desconocido';
}

?>


Como menciono en #1 no tengo servidor web que soporta PHP a mano, me puede alguien testear ese codigo, que no da ningun error, porfa...?
 
suaveSHOW
 
#4 18 mar 10, 17:51
#4 18 mar 10, 17:51
Me parece un poco ridiculo, para que quieres un codigo php si no tienes donde usarlo.
Usa el localhost.
 
ElRuso
 
ElRuso
 
#5 18 mar 10, 18:10
#5 18 mar 10, 18:10
#4 Te puede parecer lo que quieres. Yo pregunto por ayuda simplemente en un foro. Gracias por ayudar chavalin.
 
ElRuso
 
ElRuso
 
#6 18 mar 10, 21:03
#6 18 mar 10, 21:03
Ok funciona bien. Podeis cerar esto.
  1
txandy
 
txandy
 
#7 18 mar 10, 21:23
#7 18 mar 10, 21:23
bueno sería algo mucho más sencillo, te lo pego aquí, yo lo acabo de probar ahora que he tenido un rato y funciona.

<?php
function ObtenerNavegador($user_agent) {
$navegadores = array(
'Texto si usa OPERA' => 'Opera',
'Texto si usa Firefox'=> '(Firebird)|(Firefox)',
'Texto si usa Galeon' => 'Galeon',
'Texto si usa Mozilla'=>'Gecko',
'Texto si usa MyIE'=>'MyIE',
'Texto si usa Lynx' => 'Lynx',
'Texto si usa Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Texto si usa Konqueror'=>'Konqueror',
'Texto si usa Internet Explorer 7' => '(MSIE 7\.[0-9]+)',
'Texto si usa Internet Explorer 6' => '(MSIE 6\.[0-9]+)',
'Texto si usa Internet Explorer 5' => '(MSIE 5\.[0-9]+)',
'Texto si usa Internet Explorer 4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return 'Texto si no es ninguno de los anteriores';
}
?>

<?php echo ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) ?>


EDITO: Veo que llego tarde, pero si metes la info en un array para mostrarla no cal luego llamar a la funcion y comprobar si es ese navegador, es decir como te he puesto ahora esta mucho mejor optimizado que con los if, porque lo que haces con los if, ifelse, etc es hacer 2 veces lo mismo, comprobar que explorador esta usando y cuando lo tienes otra vez a comprobar si es ese explorador
 
ElRuso
 
ElRuso
 
#8 18 mar 10, 21:46
#8 18 mar 10, 21:46
Gracias otra vez txandy. Se ve mucho mas limpio tu codigo.
Favoritos
0


¿Dónde me quedé leyendo este hilo?

Regístrate y podrás saber cual es el último mensaje que leiste en cada hilo. Es el mejor invento desde el pan sin rebanar!.

Regístrate ahora! Sólo son 10 segundos!
x