Foros del Web » Programando para Internet » PHP »

Problema con switch

Estas en el tema de Problema con switch en el foro de PHP en Foros del Web. Hola. Estoy teniendo este problema ke antes no me pasaba. Estoy usando la funcion switch asi: Código PHP: <?   switch ( $master ) { case  '3' ...
  #1 (permalink)  
Antiguo 25/01/2006, 19:32
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Problema con switch

Hola.

Estoy teniendo este problema ke antes no me pasaba.

Estoy usando la funcion switch asi:

Código PHP:
<?  switch ($master)
{
case 
'3':
include(
"/Locales/locales2.php");
break;

case 
'2':
include(
"pages2.php");
break;

case 
'1':
include(
"pages3.php");
break;

default:
include(
"/Locales/locales1.php");
break;

}
?
Me saca este error cuando la cargo:

Warning: Undefined variable: master in d:\websites\www.host.com\proof\index.php on line 226

Alguien me ayuda, como la deberia definir ahi para ke nosalgaese error.??

Gracias

Última edición por Aprendix ABC; 25/01/2006 a las 19:56
  #2 (permalink)  
Antiguo 25/01/2006, 19:58
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Creo haberlo arreglado.

Al parecer el servidor donde tengo la pagina no acepta variables globales.

Lo ke hice fue convertir la variable $master en variable global antes de ke se ejecute el Switch asi:

Cita:
<?
$var =& $GLOBALS["master"];
?>
No soy el maestro de php, si hice o he dicho alguna burrada, agradeceria me corregiran.. pero con eso ya me funciono todo sin problema
  #3 (permalink)  
Antiguo 25/01/2006, 20:01
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 18 años, 4 meses
Puntos: 0
switch no es una función, es una estructura de control. este mensaje debe deberse a que tu php.ini esta configurado para que avise a traves de un Warning cuando una variable no esta debidamente definida. busca en tu php.ini la linea donde aparezca algo como:

error_reporting: (algo)

y revisa que diga así:

error_reporting = E_ALL & ~E_NOTICE
  #4 (permalink)  
Antiguo 25/01/2006, 20:03
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
una idea.,.. pq no haces ese switch mediante mysql... tienes base de datos...

notaras la diferencia... aparte de poder hacerte, tu mismo un panel para añadir, borrar o modificar dichos registros.

un saludo.
__________________
3w.valenciadjs.com
3w.laislatv.com
  #5 (permalink)  
Antiguo 25/01/2006, 21:40
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por plus_ultra
switch no es una función, es una estructura de control. este mensaje debe deberse a que tu php.ini esta configurado para que avise a traves de un Warning cuando una variable no esta debidamente definida. busca en tu php.ini la linea donde aparezca algo como:

error_reporting: (algo)

y revisa que diga así:

error_reporting = E_ALL & ~E_NOTICE
Gracias loco por correjirme lo de funcion.!! no es mi fuerte esto del php.. y lo del php.ini, si ni modo.. las paginas las pruebo en un servidor de pago al ke no tengo acceso como para llegar hasta ese archivo ymodificarlo..

_____________________________________

Cita:
una idea.,.. pq no haces ese switch mediante mysql... tienes base de datos...

notaras la diferencia... aparte de poder hacerte, tu mismo un panel para añadir, borrar o modificar dichos registros.

un saludo.
Mano la agradezco la sugerencia.. la verdad que es bien basico lo ke se de la combinacion de phpy y mysql... voy a investigar mas a ver si en un futuro puedo hacer eso ke dices.. ke seria lo ideal!

GRACIAS!

Si pudieras decirme si estuvo bien lo ke hice, de convertir la variable del switch en global con ese codigo les agradaceria.. no kisiera tener problemas mas adelante..
  #6 (permalink)  
Antiguo 26/01/2006, 04:10
 
Fecha de Ingreso: enero-2006
Mensajes: 22
Antigüedad: 18 años, 2 meses
Puntos: 0
Deberias verificar al inicio de la pagina si esta definida la variable. Y si no esta definida la creas con valor vacío. De tal forma que en el switch entraría en el default.

if(!isset($master)) //Si no esta definida la v.a master
$master='';
  #7 (permalink)  
Antiguo 26/01/2006, 07:18
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Voy a probar eso tambien a ver !! Gracias mano!!
  #8 (permalink)  
Antiguo 26/01/2006, 07:21
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Supongo que $master almacena algo que viene de algún sito, ya sea un formulario o un enlace

Lo normal es que contenga algo asi como:

Código PHP:
$master $_GET['master'];
// o bien
$master $_POST['master']; 
No se es que solo con eso es dificil contestar
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #9 (permalink)  
Antiguo 26/01/2006, 18:55
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Pos, igual te agradezco!! ahi de a pocos se le coje la caña!
  #10 (permalink)  
Antiguo 29/01/2006, 14:11
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Sonrisa

Cita:
Iniciado por nuevo
una idea.,.. pq no haces ese switch mediante mysql... tienes base de datos...

notaras la diferencia... aparte de poder hacerte, tu mismo un panel para añadir, borrar o modificar dichos registros.

un saludo.
Hola Nuevo.
Tienes algun link donde expliken como hacer esto del switch mediante mysql???
te lo agradeceria mucho.. creo ke es lo ke necesito en este momento para hacer mas eficiente lo ke estoy haciendo pq ya se me volvio un enrededo de la enredadera

GRacias!
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 14:44.