Foros del Web » Programando para Internet » PHP »

Web Modular

Estas en el tema de Web Modular en el foro de PHP en Foros del Web. Hola chicos, Ya vine a molestar otra vez :D Espero que sea de lo último, esto de andar leyendo por todas partes se vuelve adictivo ...
  #1 (permalink)  
Antiguo 07/08/2010, 22:13
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Web Modular

Hola chicos,

Ya vine a molestar otra vez :D

Espero que sea de lo último, esto de andar leyendo por todas partes se vuelve adictivo y leo de todo menos lo que busco xD

En fin, a lo que voy, acabo de terminar mi web xD la cosa es que según yo la hice modular, más bien es modular, utilizo el tan famoso include y el switch, la cosa es que, mis secciones son formularios y cosas extrañas de impresión de cosas y demás..

la pregunta es, como se maneja la ruta para cada sección.. es decir, si yo tengo mi sección registro, yo hago un include("modulos/registro.php"), y obvio después registro llamará a alguna otra, como hacen para manejar las rutas??? y que siga llamando al index.php?seccion=registro

o más detallado.. pues..

Código PHP:
<?php
     
include("header.php");
     include(
"menu.php"); 
                switch(
$_GET["seccion"]){
                    case 
"registro":
                                               include(
"modulos/registro.php")
                     break;
                    case 
"reimpresion":
                        include(
"modulos/reimpresion.php")
                    break;    
                    default:
                        include(
"principal.php");
                    break;
                }
    include(
"pie.php");
?>
por su parte, registro.php, es un formulario que llama a valida_formulario.php, pero obvio si el navegador se va a valida_formulario sale del index, como manejan eso???

ahorita penosamente lo tengo con un iframe

espero haberme explicado
  #2 (permalink)  
Antiguo 08/08/2010, 01:00
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Web Modular

Hola srita
bueno, pues yo te pongo 2 comentarios

0. puedes mejorar el include, de este modo

case "registro":
include(
"modulos/".
$_GET["seccion"].".php")
break;
case
"reimpresion":
include(
"modulos/".
$_GET["seccion"].".php")
break;

esto porque siempre coinciden en tu caso la variable que llega y lo que incluyes

1. cuando incluyes a registro por ej, y este a su vez a valida_formulario.php, se me ocurre que puedes enviarle el $_GET['seccion'] en campo hidden, intenta por ej recibir en registro.php el $_GET['seccion'], o simplemente crea una variable $seccion que sea igual a registro, y cuando llames a valida_formulario.php, le pasas esta variable para que a su vez el la use para que en el momento en que valide y guarde, redireccione a index.php?seccion=$seccion, o podrías agregar href, formas hay varias como puedes ver, prueba y pues seguro alguna te gustara mas que otra

prueba y comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 08/08/2010, 13:24
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Web Modular

hola mortiprogramador, (vedra acaso de mortifago? jojo xD)

desde anoche las ideas me empezaron a surgir, y creo que hay muchas maneras, el caso es no perder la variable de la sección... un poco incomodo por ir arrastrandola, si te das cuenta, así que creo que usaré una variable de sesión =P que se creará o se destruirá según lo seleccionado desde el menú para acceder a la sección :P (que redudante xD)

esto porque además, cuando valido, mando a confirmar datos, y después a imprimir una especie de recibo de registro en pdf, so!? necesito andarle indicando que es lo que tiene que hacer.. y con tal no pasar nada más por GET que no sea la sección pues.. lo haré así.. además me interesa verificar que para realizar alguna acción este autentificado, y con el iframe, me meto en líos, no puedo hacerlo =/

igual, si alguien más tiene alguna loca idea mejor, pues que me comente, que será bien recibida xD

por ahí me tope una especie de script que te maneja las secciones, http://www.forosdelweb.com/f18/neces...ciones-196751/ pero no se como maneje las variables y los formularios.. lo intentaré después con más tiempo porque el sitio lo tengo que entregar mañana.. =P

y tomaré en cuenta lo que comentas de mejorar el include =)

muxas! gracias! por su tiempo!! =)
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #4 (permalink)  
Antiguo 08/08/2010, 15:07
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Web Modular

bueno, pues me has instruido pues no conocía a los mortifagos, pero pues suena bien para mi, pero yo lo tome de la palabra italiana "mortinato" que significa "nacido muerto", eso tiene su historia pero pues me salgo del tema del foro...

y en efecto, como dices, andar paseando la variable no es comodo, yo he visto códigos donde para no pasearla la andan dimensionando en todas las páginas, pero tampoco me parece funcional, tu idea de la sesión es la mejor, o podrías manejarlo por clases y hacer que esta variable se herede entre clases, pero como apuntas, estas ya contra el tiempo y pues mejor lo dejas para otro momento

y pues aplaudo tu labor investigativa, ese post es ya de antaño, al parecer nadie le dio respuesta al pobre, pero pues no he usado ese script y el link ya no tiene el script, así que ni idea como maneje el resto de las variables, bueno, pues nada, espero que te rinda en tu labor dominguera

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 08/08/2010, 16:56
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Web Modular

juaz! se me salio lo pottermanica, mil disculpas, nada tiene que ver una cosa con la otra, autozape, aunque al final resulte ser yo también la instruida :P

eso que mencionas de hacerlo con una clase, me suena bastante interesante, mucho de lo que tengo hecho lo tengo en orientado a objetos, creo que les comentare por allá arriba en el subforo quizás alguien por ocio, ya lo tenga XD siento que en suma, si organizas en POO y la manejas como modular y le agregas urls amigables, tienes un super sitio optimizado.. xD

del scritp, así es ya no existe, pero anda por ahí una fracción de código, que me imagino puede servir de algo xD y si no pues entonces habrá que maquilar la idea.. después de todo, más de una web es modular, y salvaría muchas horas de codificación jejeje

saludos, y de nuex muchas gracias por tu tiempo, xoxo!
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #6 (permalink)  
Antiguo 08/08/2010, 22:50
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Web Modular

Si estas usando un sistema modular no es necesario pasar el nombre del modulo en un input, solo pasalo en el URL del archivo a enviar en el form (action="index.php?module=mimodulo), en el index.php...
Código PHP:
Ver original
  1. <?php
  2.      include("header.php");
  3.      include("menu.php");
  4.                 //switch($_GET["seccion"]){ En vez de utilizar $_GET utiliza $_REQUEST
  5.                 switch($_REQUEST["seccion"]) {
  6.                     case "registro":
  7.                                                include("modulos/registro.php")
  8.                      break;
  9.                     case "reimpresion":
  10.                         include("modulos/reimpresion.php")
  11.                     break;    
  12.                     default:
  13.                         include("principal.php");
  14.                     break;
  15.                 }
  16.     include("pie.php");
  17. ?>

Ahora, en este tipo de sistemas si o si tienes que estar pasando de alguna manera la sección en la que estas, lo común es por url.

Ultima cosa que se me olvido comentar...

El que utilices Clases no quiere decir que programes en POO, POO es mas que eso, es una forma de programar muy distinta a lo que tienes (que es programación estructural), para eso es necesario que aprendas muchos otros conceptos (no todo es código), aprender MVC y muchas otras cosas mas

Me acorde de algo... Si piensas utilizar sesiones que vas a hacer cuando alguien entre a tu página via buscador (google) o algun link que apunte a una de tus secciones?, te diré que pasa, que jamas va a cargar dicha sección, porque no existe una sesión iniciada, por eso el nombre del modulo se pasa vía URL
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 08/08/2010 a las 23:01
  #7 (permalink)  
Antiguo 08/08/2010, 23:11
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Web Modular

super Nemutagk,

tienes razón moveré el GET XD igual no me cae bien, porque deja que vean que hago y que mando ¬¬'

en fin, les enseño como quedo, si alguien tiene alguna mejora, la acepto feliz ^^

Código PHP:
Ver original
  1. <?php
  2.     include("header.php");
  3.     include("menu.php");
  4.     switch($_REQUEST["opc"]){ //recién cambiado xD
  5.         case "registro":                       
  6.             if(isset($_SESSION["act"])){
  7.                 switch($_SESSION["act"]){
  8.                     case "confirma":
  9.                         if(isset($_SESSION["registrando"]))
  10.                             include("registro/confirmar_registro.php");
  11.                         else
  12.                             include("default.php");
  13.                     break;
  14.                     case "imprimir":
  15.                         if(isset($_SESSION["registrando"]))
  16.                             include("inscripcion/imprime_registro.php");
  17.                         else
  18.                             include("default.php");
  19.                     break;
  20.                     default:
  21.                         include("registro/registro.php");
  22.                     break;
  23.                 }  
  24.             }
  25.             else
  26.                 include("registro/registro.php");
  27.          break;                  
  28.         case "edicion":
  29.             unset($_SESSION["registrando"]);
  30.             if(isset($_SESSION["act"])){
  31.                 switch($_SESSION["act"]){
  32.                     case "llenar":
  33.                     case "modificar":
  34.                             include("edicion/llena_datos.php");
  35.                     break;
  36.                     case "confirma":
  37.                         if(isset($_SESSION["editando"]))
  38.                             include("edicion/confirmar_datos.php");
  39.                         else
  40.                             include("default.php");
  41.                     break;
  42.                     case "imprimir":
  43.                         if(isset($_SESSION["editando"]))
  44.                             include("edicion/imprime_datos.php");
  45.                         else
  46.                             include("default.php");
  47.                     break;
  48.                     default:
  49.                         include("edicion/edicion.php");
  50.                     break;
  51.                 }  
  52.             }
  53.             else           
  54.                 include("edicion/edicion.php");
  55.         break; 
  56.         case "info":
  57.             unset($_SESSION["editando"]);
  58.             unset($_SESSION["registrando"]);
  59.             include("info.php");
  60.         break;
  61.         case "contacto":
  62.             unset($_SESSION["editando"]);
  63.             unset($_SESSION["registrando"]);
  64.             include("contacto.php");
  65.         break;
  66.     }
  67.     include("pie.php");
  68. ?>

Es solo una parte, no todo, porque tengo otras mil validaciones antes, de inicio de sesion, de creación de variables y bueno xD

Verifico que exista la variable de registrando o editando, es para que no me dejen las cosas a medias xD y voy manipulando los datos, por momentos.. por eso tiene el imprimir, modificar o confirmar :D

En fin, mi aporte por hoy, si a alguien le sirve.. super ;)

saluditos!! =)

EDITO: Nooo!!! no las secciones no van por sesion, van las variables de los formularios que es en realidad lo que me provocaba conflicto, lo demás funciona con URLS normales.. xDDDDD y si se, que no todo es código ;)
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)

Etiquetas: modular
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 01:33.