ARTICULOS

Resolución: JavaScript a PHP

Autor: Lenn García (http://www.phpstudy.com.ar) - 01/09/2004

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.

 

Más artículos sobre PHP

1. Modificación de cadenas
2. Resolución: JavaScript a PHP
3. Calcular la edad con PHP
4. Forzar descarga de archivos
5. Números aleatorios en PHP
6. Instalación de phpMyAdmin
7. Funciones en archivos
8. SimpleXML para PHP4
9. Buscador simple en PHP
10. Utilizando cookies en PHP
Más artículos...

Otros artículos...

ASP Manual de introducción al ASP
Java Script Efecto MouseOver con imágenes
Marketing Algunas bases de Link Building
HTML Personalizar el icono de favoritos
PHP Resetear el password de Wordpress
Java Script Menúes de listas despegables con javascript
Java Script Tres métodos para redireccionar una página
Fireworks Líneas distribuidas
HTML Varios links en una misma imagen
PHP Generar documentos de Word
Más artículos...