Foros del Web » Programando para Internet » PHP »

como capturar ancho y alto de la pantalla en php

Estas en el tema de como capturar ancho y alto de la pantalla en php en el foro de PHP en Foros del Web. Me he currado una rutinita que devuelve el valor de ancho y alto de la pantalla a php para poder usarla en la configuracion de ...
  #1 (permalink)  
Antiguo 29/01/2008, 11:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
como capturar ancho y alto de la pantalla en php

Me he currado una rutinita que devuelve el valor de ancho y alto de la pantalla a php para poder usarla en la configuracion de pantallas... Se crean dos variables de sesion llamadas PantallaAncho y PantallaAlto con el contenido requerido

el uso es sencillo,poneis:
//Prueba.php
<?
require_once("pantalla.php");
echo "Resolucion de pantalla Ancho:".$_SESSION['PantallaAncho'].'<br>';
echo "Resolucion de pantalla Alto.:".$_SESSION['PantallaAlto'].'<br>';
?>


//pantalla.php
<script language=Javascript>
var ancho=screen.width;
var alto=screen.height;
</script>
<?
if (empty($_POST['PantallaAlto']))
{
echo 'entro sin datos la primera vez.<br>Vengo de:'.$_SERVER['REQUEST_URI'];
echo "<form name=formulario method=POST action=".$PHP_SELF.">";
echo "<input type=hidden name=PantallaAncho>";
echo "<input type=hidden name=PantallaAlto>";
echo "<input type=hidden name=URI value=".$_SERVER['REQUEST_URI'].">";
echo "</form>";
echo "<script language=Javascript> document.formulario.PantallaAncho.value=ancho; document.formulario.PantallaAlto.value=alto;";
echo "document.formulario.submit() ";
echo "</script>";
}
else
{
$_SESSION['PantallaAlto'] = $_POST['PantallaAlto'];
$_SESSION['PantallaAncho'] = $_POST['PantallaAncho'];
}
?>

y voila!!! asi podeis pasar cualquier variable de javascript al php y poder usarla...
  #2 (permalink)  
Antiguo 29/01/2008, 14:35
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: como capturar ancho y alto de la pantalla en php

Muy bueno... es como mi pantalla-get.php (solo que lo haces por POST)


Código PHP:
<?
// pantalla-get.php
session_start(); // inicio Sesion
//ob_start(); // inicio retencion de salida en buffer

$ancho=$_GET["ancho"];
$largo=$_GET["largo"];
$nav=$_GET["nav"];

if(isset(
$_SESSION['ancho'])){   
  
$ancho=$_SESSION['ancho'];
  
$largo=$_SESSION['largo'];
  
$nav=$_SESSION['nav'];
  }else{
  If (isset(
$ancho)) {
    
$_SESSION['ancho']= $ancho;  
    
$_SESSION['largo']= $largo;  
    
$_SESSION['nav']= $nav;  
    }else{
    
//header("location:index.php");   
    //break
    
echo 
    
"
    <script language=\"JavaScript\"> 
    window.location.href=\"pantalla-get.php?ancho=\"+screen.width+\"&largo=\"+screen.height+\"&nav=\"+navigator.appName;
    </script>
    "
;
  }    
}

echo 
$ancho."<br/>";
echo 
$largo."<br/>";
echo 
$nav."<br/>";

?>
__________________
Salu2!
  #3 (permalink)  
Antiguo 30/01/2008, 07:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Exclamación Re: como capturar ancho y alto de la pantalla en php

Quiero dejar la inquietud de que hay ALGO RARO en el codigo de ironmansp porque NO FUNCIONA CON FIREFOX
__________________
Salu2!
  #4 (permalink)  
Antiguo 30/01/2008, 08:24
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: como capturar ancho y alto de la pantalla en php

que raro, mi navegador es firefox...
ya codificas los dos archivos bien?
  #5 (permalink)  
Antiguo 30/01/2008, 09:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: como capturar ancho y alto de la pantalla en php

ironmansp: no comprendo a que te refieres con "codificar" ... yo he probado TU codigo y en FireFox me salen "vacias" las variables de ancho y largo

En cambio..... mi codigo me funciona en FF e IE (aunque no se porque la diferencia)
__________________
Salu2!
  #6 (permalink)  
Antiguo 30/01/2008, 10:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: como capturar ancho y alto de la pantalla en php

<?
// Este archivo se llama prueba3.php
require_once("pantalla.php");
echo "Resolucion de pantalla Ancho:".$_SESSION['PantallaAncho'].'<br>';
echo "Resolucion de pantalla Alto.:".$_SESSION['PantallaAlto'].'<br>';
?>
  #7 (permalink)  
Antiguo 30/01/2008, 10:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: como capturar ancho y alto de la pantalla en php

<!-- este archivo se llama pantalla.php-->
<script language=Javascript>
var ancho=screen.width;
var alto=screen.height;
</script>
<?
if (empty($_POST['PantallaAlto']))
{
echo 'entro sin datos la primera vez.<br>Vengo de:'.$_SERVER['REQUEST_URI'];
echo "<form name=formulario method=POST action=".$PHP_SELF.">";
echo "<input type=hidden name=PantallaAncho>";
echo "<input type=hidden name=PantallaAlto>";
echo "<input type=hidden name=URI value=".$_SERVER['REQUEST_URI'].">";
echo "</form>";
echo "<script language=Javascript> document.formulario.PantallaAncho.value=ancho; document.formulario.PantallaAlto.value=alto;";
echo "document.formulario.submit() ";
echo "</script>";
}
else
{
$_SESSION['PantallaAlto'] = $_POST['PantallaAlto'];
$_SESSION['PantallaAncho'] = $_POST['PantallaAncho'];
}
?>
  #8 (permalink)  
Antiguo 30/01/2008, 10:20
 
Fecha de Ingreso: febrero-2007
Mensajes: 134
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: como capturar ancho y alto de la pantalla en php

y esto es lo que sale en mi mozilla firefox 2.0.0.11

Resolucion de pantalla Ancho:1280
Resolucion de pantalla Alto.:800
  #9 (permalink)  
Antiguo 30/01/2008, 10:56
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: como capturar ancho y alto de la pantalla en php

Con la MISMA version de Mozilla.... me sale asi:

Cita:
Resolucion de pantalla Ancho:
Resolucion de pantalla Alto.:
... y en IE:

Cita:
Resolucion de pantalla Ancho:1280
Resolucion de pantalla Alto.:1024
Raro, no ?
__________________
Salu2!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:42.