Foros del Web » Programando para Internet » PHP »

Sentencia CASE

Estas en el tema de Sentencia CASE en el foro de PHP en Foros del Web. Hola. Necesito ayuda con la sentencia CASE de PHP. La verdad es que ahora no se nada sobre ella, pero la necesito para redireccionar mi ...
  #1 (permalink)  
Antiguo 22/02/2005, 08:37
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Sentencia CASE

Hola. Necesito ayuda con la sentencia CASE de PHP. La verdad es que ahora no se nada sobre ella, pero la necesito para redireccionar mi foro desde un subdominio. Les explico... Necesito hacer que cuando alguien entre a mi subdominio foros.ffultimate.com les cargue lo que hay en www.ffultimate.com/foro. Y claro, para eso tengo que crear en la carpeta principal un index.php con una sentencia CASE en el, para que si alguien entra a www.ffultimate.com les lleve a la carpeta de la web, y para que si alguien entra a foros.ffultimate.com les lleve a la carpeta del foro. Y me han dicho que con la setencia CASE puedo hacerlo. ¿POdrian ayudarme porfavor? Muchas gracias. Un Saludo.

Atte. Alviker
  #2 (permalink)  
Antiguo 22/02/2005, 09:07
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
Se utiliza como Switch, no entiendo muy bien lo que quieres hacer, pero un ejemplo de switch es el sgte:

Código PHP:
<?php 
switch ($i) { 
   case 
0
       print 
"i equals 0"
   case 
1
       print 
"i equals 1"
   case 
2
       print 
"i equals 2"
   default: 
       print 
"i is not equal to 0, 1 or 2";    

?>
Importante es poner el break si utilizas el default.

Saludos.
  #3 (permalink)  
Antiguo 22/02/2005, 09:17
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Muchas gracias por ayudarme eft0_ ^^, eres muy amabale. Voy a ver si puedo explicarme un poco mejor.

Imagina que yo en la carpeta principal de mo dominio tengo dos subcarpetas, la /web y la /foro. Por otro lado yo tengo creado un subdominio, el cual es foros.ffultimate.com, con el que me gustaria que se podria acceder al foro que tengo en la carpeta www.ffultimate.com/foro, como acabo de indicar. Pues bien, con la sentencia case lo que quiero hacer es que, colocandola en un index.php que voy a poner en la carpeta principal de mi dominio, cuando alguien entre a www.ffultimate.com le cargue lo que hay en la carpeta /web, y que cuando alguien vaya a foros.ffultimate.com le cargue lo que hay en la carpeta /foro.

No se si me habre explicado mejor ^^'. Muchas garcias, espero que puedan ayudarme. Un saludo.

Atte. Alviker
  #4 (permalink)  
Antiguo 22/02/2005, 09:56
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
OK. Segun entiendo entonces ambos dominios van siempre al mismo DocumetRoot, si es así, lo que debes hacer son 2 cosas:

1.- Saber a cual dominio esta entrando tu usuario, esto lo logras con la variable $_SERVER['HTTP_HOST']
2.- Con esta informacion formar el case.

Código PHP:
switch ($_SERVER['HTTP_HOST']) {
case 
"foros.ffultimate.com"
header("Location: /foro");
break;
default:
header("Location: /web");
break;

No es mi costumbre hacer los scripts para las demas personas, pero por tratarse de algo así.. no se acostumbren!.

Saludos.
  #5 (permalink)  
Antiguo 22/02/2005, 10:34
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Muchisimas gracias eft0_ ^^, eres muy amabale. Tan solo me quedan dos dudas:

Sobre esta variable... : $_SERVER['HTTP_HOST'] ¿Has dicho que la cambie algo o que la deje asi?

Y por ultimo: ¿Copio tal cual todo el codigo que me has puesto en el index.php que pondre en la carpeta principal? No hace falta que me ponga nada mas, ¿verdad? Muchisimas gracias, te agradezco muchisimo tu ayuda :D. Un saludo.

Atte. Alviker
  #6 (permalink)  
Antiguo 22/02/2005, 13:06
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
Si a todo ;).
  #7 (permalink)  
Antiguo 22/02/2005, 14:34
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Perdona por ser tan pesado ^^', pero es que no se has dicho que si a que no cambie nada de la variable $_SERVER['HTTP_HOST'] o que si la cambie. Si es que tenog que cambiarla, ¿por que la cambio?

Aun asi, cree un index.php, en el que tan solo he puesto esto:

Código:
<?php
switch ($_SERVER['HTTP_HOST']) { 
case "foros.ffultimate.com" 
header("Location: /foro"); 
break; 
default: 
header("Location: /web"); 
break; 
}
?>
Y lo subi y ni me redirecciona a ningun lado, solo me sale un error que pone que hay un error en la linea 4. ¿Que puede pasar? Espero que puedan ayudarme. Muchas gracias ^^.

Atte. Alviker
  #8 (permalink)  
Antiguo 22/02/2005, 15:12
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
1.- No, no tienes que cambiarla.
2.- en la linea 2, al final agrega dos puntos ":"
  #9 (permalink)  
Antiguo 22/02/2005, 17:03
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Todo ha ido perfectamente eft0_, mil gracias ^^. Pero yo pensaba que el redireccionamiento lo que iba a hacer era dejar la direccion fija y cargar lo que habia en la carpeta de destino. Por ejemplo:

AL entrar en www.ffultimate.com, me lleva a la carpeta www.ffultimate.com/web/index.php, y sale la direccion en el navegador. Yo lo que queria es que me cargara lo que hay en la carpeta /web, pero que en la barra del navegador y todo eso apareciera www.ffultimate.com/index.php . ¿Como puedo hacer esto? Muchas gracias por su ayuda.

Atte. Alviker
  #10 (permalink)  
Antiguo 22/02/2005, 19:30
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
pues cambia el header("Location: /foro"); por:
include("foro/index.php");

o similar...
__________________
I Love Programming...
  #11 (permalink)  
Antiguo 23/02/2005, 08:19
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
Muchisimas gracias. Con la web si me funciona, es decir, cuando entro a ffultimate.com, se me carga ffultimate.com/web/index.php, pero en la barra del navegador y eso me aparece ffultimate.com/index.php. Sin embargo, con el foro no me funciona :(. Es un php, y esta en ffultimate.com/foro. ¿QUe puede pasar? Espero que puedan ayudarme. Muchas gracias de nuevo, un saludo.

Atte. Alviker
  #12 (permalink)  
Antiguo 23/02/2005, 12:27
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 0
¿Nadie puede ayudarme? :(
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 21:55.