Manual de PHP

 
 
 

Mapa Web

 
borde   borde
Portada arrow Lista de Códigos PHP arrow Pasar la resolución de JavaScript a PHP

 

Pasar la resolución de JavaScript a PHP Imprimir E-mail

En esta ocasión voy a mostrarles como pasar la resolución de JavaScript a PHP.

Todos sabemos que el lenguaje PHP, al ser del lado del servidor, no puede tomar nuestra resolución. Pues, hay una forma sencilla de pasar las medidas de JavaScript a PHP con un solo click!

Para setear una cookie con JavaScript, el comando es el siguiente:

document.cookie = 'NOMBRE=VALOR; expires=FECHA; path=CAMINO; domain=DOMINIO; SECURE';

Teniendo esto en cuenta, lo que haremos será un script, mezcla de PHP y JavaScript. Consistirá en dos archivos: mostrar.php y getres.php .

El código es el siguiente:

<?
/******************************************
JavaScript to PHP Screen Resolution vBETA
by Lenn García
Date: 08-29-2004
******************************************/
?>
<script language="javascript">
function SetCookie() {
var width = screen.width;
var height = screen.height;
var res = width + 'x' + height;
document.cookie = 'PHPRes='+res;
location = '<?=$GLOBALS['siteurl'];?>';
}

function CheckResolution(width, height) {
if(width != screen.width && height != screen.height) {
SetCookie();
}
}
</script>
<?
if(isset($_COOKIE['PHPRes']) || !empty($_COOKIE['PHPRes'])) {
$res = explode("x",$_COOKIE['PHPRes']);
$width = $res[0];
$height = $res[1];
?>
<script language="javascript">
CheckResolution(<?=$width;?>,<?=$height;?>);
</script>
<?
} else {
?>
<script language="javascript">
SetCookie();
</script>
<?
}
?>

Lo que hacemos con este código es lo siguiente:

  1. En la función JavaScript SetCookie definimos dos variables con el ancho y el alto de la resolución, y lo colocamos en un string de valor anchoxalto .
  2. Seteamos la cookie de nombre PHPRes con el valor mencionado anteriormente, y refrescamos la página.
  3. Luego, en la función JavaScript CheckResolution comparamos los valores actuales de la resolución y los invocados como parámetros en la función. Si no son iguales, se crea la cookie con los datos actualizados.
  4. Pasando a PHP, se verifica la existencia de la cookie PHPRes , y si la misma existe, se separan los valores numéricos de la x .
  5. Los valores de ancho y alto se llaman en la función JavaScript CheckResolution , que verificará si todo está actualizado correctamente.
  6. Si la cookie no existe, se la creará.

El archivo desde el que se llama al script debe cumplir ciertos requisitos:

  • Antes de invocar al archivo getres.php debe definir una variable $GLOBALS con la dirección de la página original ($_SERVER['REQUEST_URI']).

La página original ( mostrar.php ) sería así:

<?
$siteurl = $_SERVER['REQUEST_URI'];
$GLOBALS['siteurl'] = $siteurl;
require('getres.php');
echo $width.'x'.$height;
?>

Lo que hace el código es tomar la dirección desde el dominio principal (pero sin él), y luego convertirla en variable super-global. Pide el archivo getres.php , y luego se muestran las variables.

Recuerda que debes tener habilitadas las cookies, en tu navegador, para poder utilizar este método.

Bueno, eso es todo por hoy! :D

Espero que esto te sea de ayuda, y cualquier cosa estoy en los foros.

Autor: Lenn García

Original de webexperto

 

 
Portada
Capítulos del Manual de PHP
Introducción a PHP
Variables
Mi Primer Script PHP
Operadores en PHP
Estructuras de Control
Funciones en PHP
Inclusión de código
Matrices (array)
Cadenas de Caracteres
Clases
Fechas
Entrada y Salida
Operaciones con Ficheros
El lenguaje SQL y PHP
Conexión con MySQL
Sesiones
Formularios con PHP
Practicar en línea
Lista de prácticas en línea
FAQ
Preguntas frecuentes
Códigos PHP
Lista de Códigos PHP
Foros
Foros PHP
Otros Manuales
Manuales de otros lenguajes
 
   
 
 
Alojamiento web en Hostalia