Foros del Web » Creando para Internet » HTML »

Problema al obtener variable que inicie con un número desde PHP

Estas en el tema de Problema al obtener variable que inicie con un número desde PHP en el foro de HTML en Foros del Web. ¡Aloja!, Como está puesto en el título mi problema se presenta al tratar de cargar una variable [Que empieze con un número] de la URL ...
  #1 (permalink)  
Antiguo 17/09/2010, 17:27
 
Fecha de Ingreso: septiembre-2010
Ubicación: In my dreams ^^
Mensajes: 18
Antigüedad: 7 años, 2 meses
Puntos: 0
Pregunta Problema al obtener variable que inicie con un número desde PHP

¡Aloja!, Como está puesto en el título mi problema se presenta al tratar de cargar una variable [Que empieze con un número] de la URL mediante PHP.

La página muestra en el IFRAME un video de youtube o una página.

Ejemplo:

Si la variable dice:
?m=google.com - entonces en el Iframe abrira google

Si la variable dice:
?m=google.com&v=/chrome - entonces el Iframe mostrara "google.com/chrome"

Si la variable dice:
?y=lRt54xjIq7w - entonces mostrara el video de Youtube [http://www.youtube.com/watch?v=lRt54xjIq7w]

Aquí radica el problema, si la variable del video de Youtube inicia con un número o con guión PHP no obtiene la variable y el video no se muestra.

Ejemplo:

Si la variable dice:
?y=571zLCwT6Dk - entonces no se muestra nada por que el valor de la variable "y" inicia con "5" [Un número]

Alguién puede ayudarme con otra forma de obtener el valor de una variable, ya sea Javascript o PHP.

Aquí esta el código de como obtengo la variable con PHP:

Código Javascript:
Ver original
  1. <?php
  2. if(isset($_GET["v"])) switch ($_GET["v"]){
  3. case 0: $vU = $_GET["v"]; echo $vU; break;
  4. }
  5. else {};
  6. ?>

Ésta es la pagina web: http://www.thydo.zzl.org

De antemano gracias.

AlejandroM! - Aprende haciendolo™ [[email protected]]
  #2 (permalink)  
Antiguo 17/09/2010, 22:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 10 años, 5 meses
Puntos: 1567
Respuesta: Problema al obtener variable que inicie con un número desde PHP

DigInDreams:

Supongo que estará haciendo algo mal en otra parte, porque no hay motivo para que un valor iniciado con un numero no se pase como variable.

haz esta prueba: (ambos ejemplos se inician con un número)

youtube.php

Código PHP:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  5. <head>
  6. <title>Variable con número inicial</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <meta name="description" content="x" />
  9. <meta name="keywords" content="x" />
  10. <meta http-equiv="Content-Language" content="ES-ar" />
  11. <meta name="copyright" content="&copy; 2006, Guillermo Gianello" xml:lang="es" lang="es" />
  12. <meta name="author" content="http://emprear.com"  xml:lang="es" lang="es" />
  13. </head>
  14. <body>
  15. <p>Códigos de ejemplo para pasar</p>
  16. <p>
  17. 1trt3DBnFdg = Baby<br />
  18. 9C4-PZZdsEc = Ronaldo
  19. </p>
  20. <form action="yt.php" method="get">
  21. <div>
  22. <input type="text" name="id" value="" style="background-color: #A3A3A3;" /><br />
  23. <input type="submit" value="enviar" /><br /><br />
  24. </div>
  25. </form>
  26. <?php
  27. $id = $_GET['id'];
  28. ?>
  29. <iframe width="100%" height="500" src="http://www.youtube.com/watch?v=<?php echo $id; ?>">
  30. </iframe>
  31. <!-- ©2000 Emprear.com -->
  32. </body>
  33. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 17/09/2010, 23:11
 
Fecha de Ingreso: septiembre-2010
Ubicación: In my dreams ^^
Mensajes: 18
Antigüedad: 7 años, 2 meses
Puntos: 0
Pregunta Respuesta: Problema al obtener variable que inicie con un número desde PHP

Emprear:

Sí, se que debería funcionar, este problema no es primera vez que me sucede, y note que en ambas ocasiones el valor PHP de la variable lo obtengo para escribirlo en Javascript.

La primera vez fue para obtener un timeout desde la URL:

setTimeout("goHome()", <?php $vU = $_GET["v"]; echo $vU ?>);

En esta segunda vez el valor de la variable de "y" debe insertarse dentro de un "document.write" que debe escribir un Div y el Iframe con la dirección.

Dejare el código completo de la página [www.thydo.zzl.org]:

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  3.     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4.     <link rel="shortcut icon" href="/images/body/favicon.png" />
  5.     <script type="text/javascript" src="js/estilo.js"></script>
  6.     <script language="javascript">document.write("<title><?php if(isset($_GET["m"])) switch ($_GET["m"]){case 0: echo 'Thydo! Navigator'; break;} else{if(isset($_GET["y"])) switch ($_GET["y"]){case 0: echo 'Thydo! Video'; break;} else {if(isset($_GET["t"])) switch ($_GET["t"]){case 0: $t = $_GET["t"]; echo $t; break;} else echo'"+titulo+"';};};?></title>");</script>
  7.     <script language="javascript">document.write("<link href='"+estilo+"' rel='stylesheet' type='text/css'/>");</script>
  8.     <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  9.     <script type="text/javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script>
  10.     <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
  11.     <script type="text/javascript" src="js/jquery-AeroWindow.js"></script>
  12.     <script type="text/javascript" src="js/anttu.js"></script>
  13.     <script type="text/javascript">$(document).ready(function(){$('#thydo').AeroWindow({WindowTitle:'<?php if(isset($_GET["m"])) switch ($_GET["m"]){case 0: $m = $_GET["m"]; echo 'Thydo! Navigator: ',$m,''; break;} else{if(isset($_GET["y"])) switch ($_GET["y"]){case 0: echo 'Thydo! Video'; break;} else echo'Thydo!';};?>',WindowMaximize:<?php if(isset($_GET["max"])) switch ($_GET["max"]){case 0: $max = $_GET["max"]; echo $max; break;} else echo'true';?>,WindowMinimize:<?php if(isset($_GET["min"])) switch ($_GET["min"]){case 0: $min = $_GET["min"]; echo $min; break;} else echo'true';?>,WindowClosable:<?php if(isset($_GET["close"])) switch ($_GET["close"]){case 0: $close = $_GET["close"]; echo $close; break;} else echo'true';?>,WindowStatus:'<?php if(isset($_GET["estado"])) switch ($_GET["estado"]){case 0: $st = $_GET["estado"]; echo $st; break;} else echo'regular';?>',WindowResizable:<?php if(isset($_GET["sz"])) switch ($_GET["sz"]){case 0: $sz = $_GET["sz"]; echo $sz; break;} else echo'true';?>,WindowPositionTop:'center',WindowPositionLeft:'center',WindowWidth:700,WindowHeight:500,WindowAnimation:'<?php if(isset($_GET["efecto"])) switch ($_GET["efecto"]){case 0: $efecto = $_GET["efecto"]; echo $efecto; break;} else echo'easeOutElastic';?>'});});</script>
  14. </head>
  15.     <div id="cp"><script language="javascript">document.write("<img src='"+crsrc+"' />");</script></div>
  16.     <div id="top"><div id="logo"><script language="javascript">document.write("<img src='"+logosrc+"' style='cursor: pointer;' title='Thydo!' />");</script></div></div>
  17.     <div id="Window1" style="display: none;"><p>Thydo!</p><p><strong><a href="#" style="color: #111; text-decoration:underline;">Añade tu publicidad aquí.</a></strong></p></div>
  18.     <script language="javascript">var video="<?php if(isset($_GET["v"])) switch ($_GET["v"]){case 0: $vU = $_GET["v"]; echo $vU; break;} else {};?>"; document.write("<div id='thydo' style='display: none;'><iframe width='100%' height='100%' style='border: 0px;' frameborder='0' src='http://<?php if(isset($_GET["m"])) switch ($_GET["m"]){case 0: echo $m; break;} else{if(isset($_GET["y"])) switch ($_GET["y"]){case 0: $y = $_GET["y"]; echo 'www.youtube.com/v/',$y,''; break;} else echo'"+metodo+"';};?>"+video+"'></iframe><div id='iframeHelper'></div></div>");</script>
  19. </body>
  20. </html>

Función de PHP: [Si no obtengo "m" obtengo "y" y sino muestro el valor de: "metodo", este ultimo especificado en www.thydo.zzl.org/js/anttu.js]

Código PHP:
Ver original
  1. <?php if(isset($_GET["m"])) switch ($_GET["m"]){case 0: echo $m; break;} else{if(isset($_GET["y"])) switch ($_GET["y"]){case 0: $y = $_GET["y"]; echo 'www.youtube.com/v/',$y,''; break;} else echo'"+metodo+"';};?>

¡Gracias!

AlejandroM! - Aprende haciéndolo™ [[email protected]]
  #4 (permalink)  
Antiguo 18/09/2010, 00:34
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 10 años, 5 meses
Puntos: 1567
Respuesta: Problema al obtener variable que inicie con un número desde PHP

DigInDreams:

Es un poco complejo analizar todo eso, pero te voy a hacer un comentario sobre la ultima función


Para que usas "switch", normalmente eso lo haces para analizar diferentes valores para una misma variable

un uso sencillo de "switch"

<?php
if ($i == 0) {
echo "i es igual a 0";
} elseif ($i == 1) {
echo "i es igual a 1";
} elseif ($i == 2) {
echo "i es igual a 2";
}

## lo mismo pero con switch

switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case "banana":
echo "i es igual a banana";
break;
}

## pero en definitiva la variable siempre es $i
?>

tu codigo

<?php
if(isset($_GET["m"]))
switch ($_GET["m"]){
### case 0? 0 es el valor que cumple la condición?
## fijate en el ejemplo de arriba
case 0: echo $m;
break;
}
else{
if(isset($_GET["y"]))
switch ($_GET["y"]){

## en lo que sigue lo mismo de arriba. 0 puede ser un valor para $y?
case 0: $y = $_GET["y"];
echo 'www.youtube.com/v/',$y,'';
break;
}
else echo'"+metodo+"';

};
?>



Variante 1 si no esta $m (si está $y muestro y y si no está muestro 'metodo')

<?php
if(isset($_GET["m"])){
echo $_GET["m"];
}else{

if(isset($_GET["y"])){
$y = $_GET["y"];
echo "www.youtube.com/v/$y";
}else{
echo'"+metodo+"';
}

}
?>


Variante 2 si no esta $m y/o está $y muestro $m y $y y si no está ninguna muestro 'metodo'

<?php
if(isset($_GET["m"])){
echo $_GET["m"];
}

if(isset($_GET["y"])){
$y = $_GET["y"];
echo "www.youtube.com/v/$y";
}

if ((!isset($_GET["m"]))&&(!isset($_GET["m"]))){
echo'"+metodo+"';
}
?>

espero que esta informacion te sea util

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 18/09/2010, 03:36
Avatar de netovs  
Fecha de Ingreso: enero-2010
Ubicación: Mexico DF
Mensajes: 150
Antigüedad: 7 años, 11 meses
Puntos: 9
Respuesta: Problema al obtener variable que inicie con un número desde PHP

Que tal usar el percent code, los caracteres como -, ~, [espacio] y numeros no son leidos como lo podemos esperar: http://www.blooberry.com/indexdot/ht...rlencoding.htm
__________________
No por que a mi nadie me ayudo a aprender a programar yo no les voy a ayudar ...

Comunicación Web
  #6 (permalink)  
Antiguo 18/09/2010, 11:25
 
Fecha de Ingreso: septiembre-2010
Ubicación: In my dreams ^^
Mensajes: 18
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: Problema al obtener variable que inicie con un número desde PHP

Gracias por la respuesta a "emprear".

El switch lo uso por que en el futuro puede serme útil, pero aún asi muchas gracias por tu tiempo.

El código esta bien entonces, solo debe poderse obtener una variable, o $m o $y no puedo obtener las dos porque si no la url del Iframe seria por ejemplo: "www.google.comwww.youtube.com/v/571zLCwT6Dk".

Aún asi muchas gracias. Me será útil el codigo del principio (
un uso sencillo de "switch").

En cuanto al problema de la Url lo solucione quitando del valor [Sin la variable obtenida] de &y la diagonal del final, entonces quedaría así: [www.youtube.com/v] y la variable de youtube no inicia con número, sino con "/", así hasta el momento no he tenido dificultades.

Esta idea vino de la página que me sugirió : netovs

¡Gracias!

"emprear", "netovs"

AlejandroM! - Aprende haciéndolo

Última edición por DigInDreams; 18/09/2010 a las 14:22

Etiquetas: javascript, php, variables, video, youtube
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 11:49.