Pasar variable de Javascript a PHP

13 Abr

Si bien en teoría no es posible pasar variables directamente de Javascript a PHP, existe un workaround bastante interesante utilizando cookies. Por ejemplo, el siguiente código podría utilizarse para saber en PHP cuál es el ancho de pantalla que se está utilizando:

<?php
// Ancho del monitor para el popup
if(isset($_COOKIE[“ancho_monitor”]))
$screen_res = $_COOKIE[“ancho_monitor”];
else //means cookie is not found set it using Javascript
{
?>
<script language=”javascript”>
<!–
writeCookie();
function writeCookie()
{
var today = new Date();
var the_date = new Date(“December 31, 2023”);
var the_cookie_date = the_date.toGMTString();
var the_cookie = “ancho_monitor=”+ screen.width;
var the_cookie = the_cookie + “;expires=” + the_cookie_date;
document.cookie=the_cookie;
window.location = “index.php”;
}
//–>
</script>
<?php
}
$ancho_monitor = $_COOKIE[“ancho_monitor”];
// Termina ancho del monitor
?>

(Esto lo que hace es setear una cookie en el caso de que aún no esté seteada, y utiliza javascript para saber el ancho del monitor. Podría también obtenerse el alto con screen.height).

Se refresca la página en el script de javascript (en este caso index.php), porque sino la cookie no la agarra PHP.

Finalmente, podemos en el código php utilizar la variable $ancho_monitor.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: