Foros del Web » Programando para Internet » PHP »

Sobre Paginas Dinamicas index.php?id=1

Estas en el tema de Sobre Paginas Dinamicas index.php?id=1 en el foro de PHP en Foros del Web. Hola, aver si pueden ayudarme.. De momento se usar la direccion de esta manera http://misitio.com/index.php?id=1 El codigo que utilizo es: Código PHP: <?  $id = ...
  #1 (permalink)  
Antiguo 22/09/2005, 02:25
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Sobre Paginas Dinamicas index.php?id=1

Hola, aver si pueden ayudarme..

De momento se usar la direccion de esta manera

http://misitio.com/index.php?id=1

El codigo que utilizo es:

Código PHP:
<? 
$id
=$_GET['id']; 

switch (
$id) { 
   case 
1
       include(
"http://www.misitio.com/carpeta/index.php"); 
       break; 
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
   default:
       include(
"ver.php");

?>
Pero quisiera saber de que manera deberia modificar ese script anterior para poder usar la direccion mas larga, siguiendo el mismo estilo dinamico, he visto otras web's que usan algo asi..

http://www.misitio.com/index.php?id=1&cat=12 (Utilizando signos como &)

Yo necesito hacer algo asi

http://www.misitio.com/index.php?id=1 (direccion original: http://www.misitio.com/carpeta/index.php)

Seguirlo asi

http://www.misitio.com/index.php?id=1&nueva_id=12 (direccion original: http://www.misitio.com/carpeta/carpeta2/index.php)

---

Espero que me hayan entendido mas omenos lo que necesito hacer

Quien puede ayudarme??

Gracias..

Última edición por zuche; 22/09/2005 a las 03:11
  #2 (permalink)  
Antiguo 22/09/2005, 06:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Plzzz, nadie sabe que script debo utilizar?? o como modificar el primero que puse de ejemplo (mas arriba)

Resumiento: Direccion dinamica Utilizando signos (&, ejemplo: index.php?id=1&otra=1

  #3 (permalink)  
Antiguo 22/09/2005, 06:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 15 años
Puntos: 6
haber si te entiendo bien

id=1 es una varible que pasas por get para recuperarla tal como muestras si quieres pasar otra mas tienes que usar "&" tal como indicas y asi tienes ya dos y puedes usar todas las que quieras.

Luego para recuperar el valor de las demas es exactamente igual ose q deberias hacer

http://www.misitio.com/index.php?id=..._si_hace_falta

y lo recuperas

$id=$_GET['id'];
$nueva_id=$_GET[nueva_id];
$otra_var_mas=$_GET[otra_var_mas];

y ahora t montas tus case como quieras
  #4 (permalink)  
Antiguo 22/09/2005, 15:14
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
MUCHAS GRACIAS POR RESPONDER, mira:

Código PHP:
<? 
$id
=$_GET['id']; 
$nueva_id=$_GET[nueva_id]; 
$otra_mas=$_GET[otra_mas];

switch (
$id) { 
   case 
1
       include(
"http://www.misitio.com/carpeta/index.php"); 
       break; 
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
   default: 
       include(
"ver.php"); 

?>
Pero exactamente como modifico la parte donde dice..

switch ($id) { (ahi marca a id, pero como hago para que marque a las demas)
es qeu si hago otros switch mas.. pos no quedaria como direccion larga.. no se si me explico bien..

Es decir si hago asi:

Código PHP:
switch ($id) { 
   case 
1
       include(
"http://www.misitio.com/carpeta/index.php"); 
       break; 
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
   default: 
       include(
"ver.php"); 

switch (
$nueva_id) { 
   case 
1
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/carpeta4/index.php"); 
       break; 
   default: 
       include(
"ver.php"); 
}
..... 
Pos la direcciones serian..

http://www.misitio.com/index.php?id=1

o

http://www.misitio.com/index.php?nueva_id=1

Pero no se como hacer para que sea

http://www.misitio.com/index.php?id=1&nueva_id=1

---

Como modificaria la parte donde empieze el "switch..." ????

  #5 (permalink)  
Antiguo 22/09/2005, 15:20
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
No, lo que tu debes hacer en ese caso es un switch dentro de otro.. ejemplo:

Código PHP:
switch ($id) { 
   case 
1
       switch (
$cat) { 
           case 
'1':
              include(
"lalala.php"); 
              break; 
           case 
'2':
              include(
"lewewe.php"); 
              break; 
           default:
              include(
"http://www.misitio.com/carpeta/index.php");
              break; 
       }
       break;
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
   default: 
       include(
"ver.php"); 

Allí podrías usar las dos variables, ej: index.php?id=1&cat=1

Recuerda utilizar, en lugar de $id, $_GET[id] (o en caso de que tu variable sea alfaumerica: $_GET["id"])
Por cierto, los includes deberias usarlos relativamente y no con URI completa..
__________________
I Love Programming...
  #6 (permalink)  
Antiguo 22/09/2005, 15:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Muchas gracias por las respuestas, voy a probar..
  #7 (permalink)  
Antiguo 23/09/2005, 04:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Pos al final funciona perfectamente, pero quisiera que me ayudas/ayduaran a entender unas cosas..

1) Te juro que me vuelvo algo loko cuando intento crear ese script para hacerlo funcionar al querer utilizar 2 &, ejemplo ese script me va re bien con 1 & pero al querer don 2, me pierdooo!!!

2) Analizando tu ejemplo: en esta parte..

Código PHP:
switch ($id) { 
   case 
1
       switch (
$cat) { 
           case 
'1'
              include(
"lalala.php"); 
              break; 
           case 
'2'
              include(
"lewewe.php"); 
              break; 
           default: 
//este default sobra?? a cual se refiere al mismo include que inserto al seguir el script??
              
include("http://www.misitio.com/carpeta/index.php");
              break; 
       } 
El include final (default) a que pagina se refiere.. aver..

y en esta que le sigue..

Código PHP:
       break; 
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
//esta se refiere al por defecto de la dire principal donde comienza todo
   
default: 
       include(
"ver.php"); 

Ahi el default se que se refiere pos a la direccion principal, ejemplo index.php

http://www.misitio.com/index.php (ahi estaria el default este de arriba)

Pero el primero default que se hace al poner el switch dentro del otro.. pos ahi.. no se a cual se refiere. me he perdido. (como si sobrara el default primero)

---

Para entender mejor todo.. y para quienes necesiten el mismo metodo..

Mi script completo es:

Código PHP:
<? 
$seccion
=$_GET['seccion'];
$opcion=$_GET['opcion'];

switch (
$seccion) { 
   case 
"descargas":
       switch (
$opcion) { 
           case 
"primer_archivo"
                    include(
"http://www.misitio.com/carpeta/menu/descargas/archivo_primero/ver.php"); 
              break;
           default: 
              include(
"ver.php"); 
              break;
       }
break;
case 
"descargas":
include(
"http://www.misitio.com/carpeta/menu/descargas/ver.php");
break;
default:
include(
"ver.php");
}
?>
seria un ejemplo en accion..

http://www.misitio.com/index.php?sec...rchivo_primero

---

PERO COMO HAGO PARA HACERLO CON OTRO &, en serio qu eme he perdido.. me ayudas/ayudan??

SALUDOSSSS!!
  #8 (permalink)  
Antiguo 23/09/2005, 06:20
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 15 años
Puntos: 6
Cita:
Iniciado por zuche
El include final (default) a que pagina se refiere.. aver..
ese default es donde envias si se cumple la primera condicion pero la segunda no ¿me explico? si lo que quieres es que el script continue ejecutandose en ese caso, pues entonces si sobra.

Cita:
Iniciado por zuche
Código PHP:
       break; 
   case 
2
       include(
"http://www.misitio.com/carpeta/carpeta2/index.php"); 
       break; 
   case 
3
       include(
"http://www.misitio.com/carpeta/carpeta2/carpeta3/index.php"); 
       break; 
//esta se refiere al por defecto de la dire principal donde comienza todo
   
default: 
       include(
"ver.php"); 

Ahi el default se que se refiere pos a la direccion principal, ejemplo index.php

http://www.misitio.com/index.php (ahi estaria el default este de arriba)

Pero el primero default que se hace al poner el switch dentro del otro.. pos ahi.. no se a cual se refiere. me he perdido. (como si sobrara el default primero)
y claro el otro defult es solo para la condicion primera si no se cumple pues t envia a esa

me explique?
  #9 (permalink)  
Antiguo 23/09/2005, 11:03
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
Cada "id" tiene que tener un default... así lo envíes a la pagina principal tiene que tenerlo (porque de lo contrario si alguien pone un "cat" que no existe se quedará en blanco en lugar de mostrar el default...

Además, intenta ser mas prolijo para entender mejor el código... utiliza rutas relativas en los includes en lugar de absolutas.... Alinea correctamente el código... es decir, deja 2 espacios en blanco en la línea posterior a un { y saca dos espacios en la línea posterior a }, esto te permitirá saber si te esta faltando una llave o no...

También ten en cuenta que algunas veces no es necesario usar switchs sobre switchs... a veces, si trabajas con DB, es mejor que el mismo archivo de "sección" se encargue de leer "opcion"...

No es necesario crear otra variable para recoger las enviadas por $_GET[]... simplemente pon switch($_GET["id"]) { y listo...
__________________
I Love Programming...
  #10 (permalink)  
Antiguo 23/09/2005, 11:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Perfecto, muchas gracias a ambos !!

Ya corregi el script y sobre la base de datos (lo haria con ella, pero como hace poco empeze con php.. pues base de datos.. de momento no se como utilizarlo, ya aprendere..)

Una cosa mas.. sobre las direcciones relativas, aver mira.. no se bien que querras decir, yo hago esto..

Ejemplo:

Código PHP:
include("../carpeta/index.php"); //direccion relativa?? en include 
Pero al poner la direccion asi. me da error.. si usase esa forma en fondos de tabla o en propios enlaces, no da error.

Ejemplo:

Código HTML:
<a href="../carpeta/index.php">ENLACE</a> 
Asi. si funciona..

---

Siempre que deseo usar esa manera en los Includes.. me da error :(

Quiza direcciones relativas, te referis a otra cosa.. y no esa manera que puse de ejemplo mas arriba o bien en php es de otra manera..

Sobre esto me pregunto.. por que mejor direccion relativa y no absoluta??

Saludos y muchisimas graxcias por las respuestas!!
  #11 (permalink)  
Antiguo 23/09/2005, 12:43
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
si te da error es porque le estas errando a la dirección... todo el mundo utiliza includes relativos sin problemas...

include("includes/probando.php");

Recuerda qeu los dos puntos (..) se utilizan para "bajar" un directorio...
__________________
I Love Programming...
  #12 (permalink)  
Antiguo 25/09/2005, 16:09
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Ya estuve corriendo el script gracias a las respuestas anteriores.. pero tengo un problema al querer incorporar las demas secciones (para poder utilizar &, como lo hice como la "primera" categoria)
En ejemplos anteriores, se me ha enseñado como poner un switch dentro de otro y lo hice funcionar, con la seccion/categia "primera".. pero no se como hacerlo funcionar con las demas secciones, mejor dicho.. (de que manera debo incorporarlo de forma ordenada en el script actual) intente variass formas.. pero me da error..

Mi script actual:

Código PHP:
<? 

switch($_GET["seccion"]) { 
      
    case 
"primera"
       switch(
$_GET["id"]) { 
           case 
1
                    include(
"../categorias/001/archivo/index.php"); 
              break; 
           default: 
              include(
"../categorias/index.php"); 
              break; 
        } 
break; 
case 
"primera"
include(
"../categorias/001/index.php"); 
break; 
case 
"segunda"
include(
"../categorias/002/index.php"); 
break; 
case 
"tercera"
include(
"../categorias/003/index.php"); 
break; 
case 
"cuarta"
include(
"../categorias/004/index.php"); 
break; 
case 
"quinta"
include(
"../categorias/005/index.php"); 
break; 
default: 
include(
"../categorias/index.php"); 

?>
Bueno ahi el metodo direccion larga (en la categoria primera) con (&=..),

Ejemplo: (con el metodo largo, utilizando &)

http://www.sitio.com/categorias/inde...n=primera&id=1

---

El caso es que necesito utilizar ese metodo con las demas categorias, pero no se como incorporarlo al script actual de forma ordenada..

Ejemplo:

http://www.sitio.com/categorias/inde...n=segunda&id=2

http://www.sitio.com/categorias/inde...n=tercera&id=3

Es decir, lo que hize con la categoria "primera" quisiera hacer lo mismo la "segunda" "tercera".. etc..

---

ayudarme?? plzzz!!

desde ya, muchas gracias..
__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)
  #13 (permalink)  
Antiguo 25/09/2005, 16:25
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
Bueno, antes que nada, ahi tienes un error grosero, estas utilizando dos veces la clave "primera".

Para hacer lo que dices -si es que te entendi- simplemente debes colocar los demas switchs...

Código PHP:
<?php
  
switch($_GET["seccion"]) { 
    case 
"primera"
       switch(
$_GET["id"]) { 
           case 
1
             include(
"../categorias/001/archivo/index.php"); 
             break; 
           default: 
             include(
"../categorias/index.php"); 
             break; 
        } 
       break; 
    case 
"segunda"
      switch(
$_GET["id"]) { 
        case 
1
          include(
"../categorias/002/archivo/index.php"); 
          break; 
        default: 
          include(
"../categorias/index.php"); 
          break; 
      } 
      break; 
      case 
"tercera"
        switch(
$_GET["id"]) { 
          case 
1
            include(
"../categorias/003/archivo/index.php"); 
            break; 
          default: 
            include(
"../categorias/index.php"); 
            break; 
        } 
        break; 
      case 
"cuarta"
        switch(
$_GET["id"]) { 
          case 
1
            include(
"../categorias/004/archivo/index.php"); 
            break; 
          default: 
            include(
"../categorias/index.php"); 
            break; 
        }  
       break; 
       case 
"quinta"
         switch(
$_GET["id"]) { 
           case 
1
             include(
"../categorias/005/archivo/index.php"); 
             break; 
           default: 
             include(
"../categorias/index.php"); 
             break; 
         } 
         break; 
    default: 
      include(
"../categorias/index.php"); 
      break;
  }
?>
__________________
I Love Programming...
  #14 (permalink)  
Antiguo 25/09/2005, 16:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
OHHH YA DECIA YO. cosas sobraban ahi..(que al final no llegaba a entender bien el script) ahora esta mas claro :P

Muchas Gracias!, probare!

__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)
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 00:04.