Foros del Web » Programando para Internet » PHP »

Problema para pasar variable string a integer

Estas en el tema de Problema para pasar variable string a integer en el foro de PHP en Foros del Web. Hola: estoy intentando conseguir detectar el ancho de la pantalla para adecuar los banners de los anunciantes al tamaño real del visitante de mi página. ...
  #1 (permalink)  
Antiguo 24/11/2012, 02:33
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 16 años, 5 meses
Puntos: 1
Problema para pasar variable string a integer

Hola: estoy intentando conseguir detectar el ancho de la pantalla para adecuar los banners de los anunciantes al tamaño real del visitante de mi página.

Para ello utilizo javascript para obtener el ancho y después paso la variable a php. El problema es que obtengo una variable de tipo string (texto) y quiero pasarla a integer (número) para poder decidir, en función de dicho número, la publicidad a poner y esta es la parte que no funciona. No me convierte la variable string en variable integer. ¿Podríais ayudarme?

He encontrado en Internet dos formas de pasar una variable a integer pero ninguna de las dos funciona. Os paso el código para que veáis mi rutina y, por favor, si alguien me puede ayudar, se lo agradecería mucho.

Gracias a todos de antemano.

<?php
session_start();
?>
<!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" xml:lang="es" dir="ltr" lang="es">
<head></head>
<body>
<script type="text/javascript">
var anchopantalla = screen.width //Calculamos el ancho de pantalla en px
document.write(anchopantalla)
</script>

<?php
$variable = "<script> document.write(anchopantalla) </script>";
echo $variable;
echo "<br/>El valor de la variable es: " . $variable;
echo "<br/>La variable inicial es del tipo: " . gettype($variable) . " - " . $variable;
$variable = trim($variable);
echo "<br/>Le quito los espacios: " . $variable . " y la variable ahora es del tipo: " . gettype($variable);

echo "<br/><br/><br/>Probamos con settype";
$variable2 = $variable;
settype($variable2,'integer');
echo "<br/>La variable después de settype es del tipo: " . gettype($variable2) . " - " . $variable2;
//Probamos una operación matemática
$resultado = $variable1 + 1;
echo "<br/>El resultado con settype es " . $resultado;

echo "<br/><br/><br/>Probamos con (int)";
$variable3 = $variable;
$variable3 = (int)$variable;
echo "<br/>La variable después de (int) es del tipo: " . gettype($variable3) . " - " . $variable3;
//Probamos una operación matemática
$variable3 = $variable + 1;
//Probamos una operación matemática
$resultado = $variable1 + 1;
echo "<br/>El resultado con settype es " . $resultado;
?>
</body>
</html>
__________________
tu outlet online
GolfSencillo
  #2 (permalink)  
Antiguo 28/11/2012, 03:19
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Problema para pasar variable string a integer

Por favor, ¿Alguien me puede ayudar? Me urge bastante solucionar el problema.
__________________
tu outlet online
GolfSencillo
  #3 (permalink)  
Antiguo 28/11/2012, 03:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema para pasar variable string a integer

El problema que tienes es conceptual.

Javascript se ejecuta en el navegador (cliente) y PHP en el servidor.

Lo que intentas carece de sentido, si asignas un tag de <script> a una variable de PHP jamás tomará ningún valor en PHP, porque eso es HTML.

Eso es todo, no más.

Necesitas estudiar las diferencias antes de imaginar cosas irreales.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, integer, string, variables
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.