PHP - Problemas con redirección Y PHP 7

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas con redirección Y PHP 7

Publicado por lee (6 intervenciones) el 09/11/2017 10:29:09
Hola amigos,
utilizo el siguiente código para redireccionar una pagina depende si es de móvil o pc.
El problema ha venido con la actualización del servidor a PHP 7,
ha dejado de funcionar y sale este error.
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

El código es el siguiente.
Espero que puedan ayudarme.

Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<?php
 
 $es_movil=FALSE; //Aquí se declara la variable falso o verdadero XD 
  $usuario = $_SERVER['HTTP_USER_AGENT']; //Con esta leemos la info de su navegador 
 $usuarios_moviles = "Android, AvantGo, Blackberry, Blazer, Cellphone, Danger, DoCoMo, EPOC,
 
 EudoraWeb, Handspring, HTC, Kyocera, LG, MMEF20, MMP, MOT-V, Mot, Motorola, NetFront, Newt, 
 
Nokia, Opera Mini, Palm, Palm, PalmOS, PlayStation Portable, ProxiNet, Proxinet, SHARP-TQ-GX10,
 
 Samsung, Small, Smartphone, SonyEricsson, SonyEricsson, Symbian, SymbianOS, TS21i-10, UP.Browser,
 
 UP.Link, WAP, webOS, Windows CE, hiptop, iPhone, iPod, portalmmm, Elaine/3.0, OPWV";
 
//En esta cadena podemos quitar o agregar navegadores de dispositivos moviles,
  echo $_SERVER['HTTP_USER_AGENT'];
 
$navegador_usuario = explode(',',$usuarios_moviles);
 
foreach($navegador_usuario AS $navegador){ //Este ciclo es el que se encarga de detectar el navegador y devolver un TRUE si encuentra la cadena     
 
if(eregi(trim($navegador),$usuario)){
 
 $es_movil=TRUE;
}
}
 
 if($es_movil==TRUE){
 
   header('Location: RUTA MÒVIL');
 
}
 
else{
 
   header('Location: RUTA PC');
 
}
 
?>
<body>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con redirección Y PHP 7

Publicado por Miguel (218 intervenciones) el 09/11/2017 22:57:18
Pues el único inconveniente que veo es que estás enviando el header de redirección luego de imprimir contenido. Coloca todo tu código PHP al inicio y no envíes ningún texto (ni HTML ni el user-agent como ahora).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas con redirección Y PHP 7

Publicado por lee (6 intervenciones) el 10/11/2017 07:59:44
Muchas gracias por la respuesta,
Primero decirte que no es mi fuerte el PHP. He conseguido que funcione de esta forma. Lo dejo aquí para que me digas si es a lo que te referías... y si a alguien le hace falta, aquí esta.

Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
 
 $es_movil=FALSE; //Aquí se declara la variable falso o verdadero XD 
$usuario = $_SERVER['HTTP_USER_AGENT']; //Con esta leemos la info de su navegador 
 $usuarios_moviles = "Android, AvantGo, Blackberry, Blazer, Cellphone, Danger, DoCoMo, EPOC,
 
 EudoraWeb, Handspring, HTC, Kyocera, LG, MMEF20, MMP, MOT-V, Mot, Motorola, NetFront, Newt, 
 
Nokia, Opera Mini, Palm, Palm, PalmOS, PlayStation Portable, ProxiNet, Proxinet, SHARP-TQ-GX10,
 
 Samsung, Small, Smartphone, SonyEricsson, SonyEricsson, Symbian, SymbianOS, TS21i-10, UP.Browser,
 
 UP.Link, WAP, webOS, Windows CE, hiptop, iPhone, iPod, portalmmm, Elaine/3.0, OPWV";
 
//En esta cadena podemos quitar o agregar navegadores de dispositivos moviles,
  //echo $_SERVER['HTTP_USER_AGENT'];    
 
//$navegador_usuario = explode(',',$usuarios_moviles);   
 
foreach($navegador_usuario AS $navegador){ //Este ciclo es el que se encarga de detectar el navegador y devolver un TRUE si encuentra la cadena     
 
if(eregi(trim($navegador),$usuario)){
 
 $es_movil=TRUE;
}
  }
 
 if($es_movil==TRUE){
 
   header('Location:http://www.cassa.cat/rutadelsuro');
 
}
 
else{
 
   header('Location:http://www.cassa.cat/rutadelsuro');
 
    }
 
  ?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de David Morales

Problemas con redirección Y PHP 7

Publicado por David Morales (15 intervenciones) el 10/11/2017 16:36:06
si esta bien hermano, saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con redirección Y PHP 7

Publicado por Miguel (218 intervenciones) el 10/11/2017 23:31:56
Si si, muy bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas con redirección Y PHP 7

Publicado por lee (6 intervenciones) el 15/11/2017 17:06:11
Hola amigos,
Me equivoque, La redirfección sigué sin funcionar.

En un servidor con PHP 7 no hay maneras. Ahora me redirige siempre a la pagina de facebook. Y antes de pones las // que hay delante de estas dos lineas, y con el php anterior funcionaba correctamente.


//echo $_SERVER['HTTP_USER_AGENT'];
//$navegador_usuario = explode(',',$usuarios_moviles);

Alguna ayuda?

por cierto, como puedo editar un mensaje una vez publicado?

Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
 
 $es_movil=FALSE; //Aquí se declara la variable falso o verdadero XD 
$usuario = $_SERVER['HTTP_USER_AGENT']; //Con esta leemos la info de su navegador 
 $usuarios_moviles = "Android, AvantGo, Blackberry, Blazer, Cellphone, Danger, DoCoMo, EPOC,
 
 EudoraWeb, Handspring, HTC, Kyocera, LG, MMEF20, MMP, MOT-V, Mot, Motorola, NetFront, Newt, 
 
Nokia, Opera Mini, Palm, Palm, PalmOS, PlayStation Portable, ProxiNet, Proxinet, SHARP-TQ-GX10,
 
 Samsung, Small, Smartphone, SonyEricsson, SonyEricsson, Symbian, SymbianOS, TS21i-10, UP.Browser,
 
 UP.Link, WAP, webOS, Windows CE, hiptop, iPhone, iPod, portalmmm, Elaine/3.0, OPWV";
 
//En esta cadena podemos quitar o agregar navegadores de dispositivos moviles,
  //echo $_SERVER['HTTP_USER_AGENT'];    
 
//$navegador_usuario = explode(',',$usuarios_moviles);   
 
foreach($navegador_usuario AS $navegador){ //Este ciclo es el que se encarga de detectar el navegador y devolver un TRUE si encuentra la cadena     
 
if(eregi(trim($navegador),$usuario)){
 
 $es_movil=TRUE;
}
  }
 
 if($es_movil==TRUE){
 
   header('Location:http://www.google.com');
 
}
 
else{
 
   header('Location:http://www.facebook.com');
 
    }
 
  ?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de David

Problemas con redirección Y PHP 7

Publicado por David (15 intervenciones) el 02/12/2017 04:31:58
Ya intentaste primero imprimir en pantalla el dispositivo que te detecta? Igual y estas teniendo problemas en buscar el dispositivo y por eso te manda a la página que no quieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar