Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Peor aun yo diría que en $_SESSION['cabeza'] no hay ningún contenido, si te fijas el error es
Código:
Failed opening required ''
entre las comillas debería aparecer el nombre del archivo que intenta abrir y como se ve no hay nada.

Una duda ¿en $_SESSION['rol_user'] guardas una cadena de texto? lo digo porque lo comparas con, en teoría, constantes
Código:
case Cliente:
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 06-06-2006 a las 09:04:46.
Responder Con Cita
  #2  
Antiguo 06-06-2006
javila javila is offline
Registrado
 
Registrado: jun 2006
Posts: 5
Poder: 0
javila Va por buen camino
Arrow

Mi duda es ahora, como lo cambio? Esque no lo tengo muy claro...
¿Poniendo las comillas?

Última edición por javila fecha: 06-06-2006 a las 09:53:10.
Responder Con Cita
  #3  
Antiguo 06-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Prueba con esto
Código PHP:
switch($_SESSION['rol_user']){
case 
"Cliente":
$_SESSION['cabeza']="cabeza_cliente.php";
header("Location: index.php");
break;
case 
"Hostelero":
$_SESSION['cabeza']="cabeza_hostelero.php";
header("Location: index.php");
break;
case 
"Administrador":
$_SESSION['cabeza'] = "cabeza_admin.php";
header("Location: index.php"); 
break;

Si en $_SESSION['rol_user'] guardas una cadena de texto, simplemente tienes que entrecomillar los valores del "case".
Ten en cuenta las mayusculas y las minusculas.

También te aconsejo que despues de un "header('Location ...')" pongas la sentencia "exit()". (manias mias)
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #4  
Antiguo 06-06-2006
javila javila is offline
Registrado
 
Registrado: jun 2006
Posts: 5
Poder: 0
javila Va por buen camino
Vale, muchas gracias. Ahora estoy en el trabajo y no puedo comprobarlo. A medio día lo pruebo y ya os comento los resultados.

Gracias
Responder Con Cita
  #5  
Antiguo 06-06-2006
javila javila is offline
Registrado
 
Registrado: jun 2006
Posts: 5
Poder: 0
javila Va por buen camino
Talking

Bueno, el error era mucho más simple. Después de pasarme ayer todas la tarde y la noche intentando solucionar el error, ahora he descubierto que si, el fallo era que no entraba al bucle, pero no hacian falta las comillas, sino que administrador, cliente y hostelero eran en minuscula y no en mayúscula. Ahora todo funciona perfectamente.

Muchas gracias por todo
Responder Con Cita
  #6  
Antiguo 06-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Y dices que no le pones comillas, yo te aconsejo que utilices comillas para las comparaciones entre cadenas de caracteres. Si no utilizas comillas estas comparando con una constante que no has definido pero que, segun el manual de PHP toma el como valor el propio nombre de la constante
Cita:
Si usas una constante todavia no definida, PHP asume que estás refiriéndote al nombre de la constante en si. Se lanzará un aviso si esto sucede. Usa la función defined() para comprobar la existencia de dicha constante.
Esto puede causar problemas, por ejemplo si en un momento determinado defines una constante con el mismo nombre y diferente valor o peor aun si los desarrolladores de PHP deciden cambiar el funcionamiento de las constantes.

Y lo mas peor de lo peor, estas haciendo algo que no es correcto pero que como te ha funcionado (por pura churra) pues lo dejas como está, pero seguro que no tenías ni idea de que estabas haciendo una comparación con constantes.

Te aconsejo que hagas las cosas como Dios manda, en resumen, las cadenas de texto llevan comillas.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #7  
Antiguo 06-06-2006
javila javila is offline
Registrado
 
Registrado: jun 2006
Posts: 5
Poder: 0
javila Va por buen camino
Hola de nuevo. Es que, resulta que si las uso las comillas, no me entra dentro del case. Por eso las he tenido que volver a quitar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:10:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi