Foros del Web » Programando para Internet » PHP »

Problema con pasar variables por URL

Estas en el tema de Problema con pasar variables por URL en el foro de PHP en Foros del Web. Hola, Tengo un problema en pasar las variables por la URL tipo http://usuarios.lycos.es/freegameson...ego="minigolf" Creo que el problema está en el código: <html> <head> <title>F-Games - ...
  #1 (permalink)  
Antiguo 08/02/2003, 07:52
Abs
 
Fecha de Ingreso: enero-2003
Mensajes: 216
Antigüedad: 21 años, 3 meses
Puntos: 0
Problema con pasar variables por URL

Hola,

Tengo un problema en pasar las variables por la URL tipo http://usuarios.lycos.es/freegameson...ego="minigolf"

Creo que el problema está en el código:


<html>
<head>
<title>F-Games - Juegos online gratuitos</title>
</head>
<body>
<?
if ($juego=="Minigolf")
{

echo '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"
ID=rapier4 WIDTH=600 HEIGHT=600>
<PARAM NAME=movie VALUE="http://www.electrotank.com/games/multiuser/games/minigolf/minigolf.swf"> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=medium> <PARAM NAME=bgcolor VALUE=#000000> <EMBED src="http://www.electrotank.com/games/multiuser/games/minigolf/minigolf.swf.swf" menu=false quality=medium bgcolor=#000000 WIDTH=600 HEIGHT=600 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</EMBED>
</OBJECT>
</CENTER>';

}

elseif ($juego=="xiaoxiao4")
{

echo '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"
ID=rapier4 WIDTH=600 HEIGHT=600>
<PARAM NAME=movie VALUE="http://usuarios.lycos.es/freegamesonline/flash/xiaoxiao4.swf"> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#000000> <EMBED src="http://usuarios.lycos.es/freegamesonline/flash/xiaoxiao4.swf" menu=false quality=high bgcolor=#000000 WIDTH=600 HEIGHT=600 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';

}

else
{


echo '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"
ID=rapier4 WIDTH=600 HEIGHT=600>
<PARAM NAME=movie VALUE="http://usuarios.lycos.es/freegamesonline/flash/mini-putt.swf"> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#000000> <EMBED src="http://usuarios.lycos.es/freegamesonline/flash/mini-putt.swf" menu=false quality=high bgcolor=#000000 WIDTH=600 HEIGHT=600 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';

}

</body>
</html>

---------------------------------------

El problema es que cuando le paso por la url una variable siempre me muestra el else en vez del elseif (por ejemplo minigolf está en el elseif, entonces me muestra en vez de ese el mini-putt que está en el else) que le corresponde ¿alguien me puede ayudar?

Saludos

Última edición por Abs; 08/02/2003 a las 07:55
  #2 (permalink)  
Antiguo 08/02/2003, 09:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Las variables son "case-sensitive" (sensible a mayusculas ..) Ademas .. al pasar variables por el URL no se usan comillas como así lo pusistes en el ejmplo

http://usuarios.lycos.es/freegameson...juego=minigolf

Si pasas minigolf .. debes de comparar por:

if ($juego=="minigolf ")

Una forma de "solucionar" este medio problema de que no sabes si van a poner en el URL minigolf o MIniGolF .. por ejemplo .. es pasando a minusculas la cadena (variable) q te entra por tu URL y compararal siempre en minusculas (prodria ser tambien en mayusculas)...

Para eso tienes la funcion strtolower($juego)=="minigolf" .. con eso siempreee estaras comparando en minusculas la variable $juego ..

Tambien como observación .. Para la estructura de IF .. else ..elseif q tienes dependiendo de una Unica variable te viene mejor usar:

Switch .. case
http://www.php.net/manual/en/control...res.switch.php

Otro detalle .. Revisa el tema de register_globals y los arrays superglobales $_GET .. $_POST .. etc (en las FAQ's de este foro PHP está explicadito el tema ..) Acostumbrate a no asumier las variabels de tus URL/formularios/etc como globales ..

Tambien recuerda a la hora de poner código q uses el boton "PHP" a la hora de poner tu código PHP .. se verá coloreado y de mejor lectura ..

Un saludo,
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 17:22.