Foros del Web » Programando para Internet » PHP »

Web Modular y Paso de Variables , novato

Estas en el tema de Web Modular y Paso de Variables , novato en el foro de PHP en Foros del Web. `Hola q tal ... Estube leyendo el faq de web modular de Cluster , pero tengo las siguientes dudas ... Tengo un script de noticia ...
  #1 (permalink)  
Antiguo 15/12/2004, 11:19
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Web Modular y Paso de Variables , novato

`Hola q tal ...

Estube leyendo el faq de web modular de Cluster , pero tengo las siguientes dudas ...

Tengo un script de noticia q consta de dos paginas , una muestra el titulo de todas las noticias (noticias.php) y otra pagina la detalla (nota.php?id=1) que la recibe por GET .
<?
$seccion=$_GET['seccion'];

switch ($seccion) {
case 1:
include("noticias.php");
break;
default:
include("index.php");
// estado default .. nos determina el estado
// "si no es ninguna opcion de las anteriores".
}
?>
La duda q tengo es como llamar la pagina nota.php desde noticias.php para q se ejecute dentro de la misma plantilla , me refiero de la forma

http://localhost/index.php?seccion=1 [+ el detalle de la nota , llamando a la pagina nota.php]

y tambien , como podria poner en vez de seccion=1 --> seccion=trabajos


Gracias
  #2 (permalink)  
Antiguo 15/12/2004, 12:34
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
agrégale a tus urls donde piensas agregar mas variables, necesitas una &. Y con eso tienes para agregar las variables que tu quiertas.
  #3 (permalink)  
Antiguo 15/12/2004, 12:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para el tema de poner "nombres" a tus "secciones" .. simplemente en lugar de usar:

case 1:

usa:

case "comosellame":

Un saludo,
  #4 (permalink)  
Antiguo 15/12/2004, 13:44
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
gracias a los dos , pero nose como poner & en el url :S , pongo esto :

http://localhost/index.php?seccion=n...nota.php?id=63

pero me lleva al index (q está hecho un desastre q no entiendo) http://img153.exs.cx/my.php?loc=img1...llerror9eb.jpg

como debo llamar a esta pagina ???

Gracias
  #5 (permalink)  
Antiguo 15/12/2004, 14:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendría que ser:

http://localhost/index.php?seccion=noticias&id=63

y tu "case" de seccion=noticias .. será el que llame a tu include() para el "nota.php" ..

Un saludo,
  #6 (permalink)  
Antiguo 15/12/2004, 14:51
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
no entiendo , kieres decir q haga un include en noticias.php de notas.php ?? o simplemente q haga una seccion notas (index.php?seccion=nota&id=63) y pare de molestar ...
  #7 (permalink)  
Antiguo 15/12/2004, 15:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mmm ..

Cita:
simplemente q haga una seccion notas (index.php?seccion=nota&id=63)
Para no complicarte .. hazlo así. En realidad el ejemplo de la "FAQ" que mencionas es muy simple .. no está preparado para ese tipo de estructuras complejas.

En su defecto tendrías que tener algo tipo
index.php?seccion=noticias&accion=notas&id=1

o algo así para poder ir montando los "switch()" en función de esas varaibles "seccion" y "accion" o sub-seccion ... + el resto de variables que tenga que propagar o requiera tu script final.

Un saludo,
  #8 (permalink)  
Antiguo 15/12/2004, 15:07
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 14 años
Puntos: 0
como yo lo haria...

el link de ejemplo
index.php?seccion=noticias&id=63

---cabecera---
$seccion = $_GET["seccion"];
if( $seccion != "" ) include( $seccion . '.php?id=' . $_GET['id'])

---pie---

luego seccion que seria "nota" llamaria a nota.php?id=63 que es el archivo o script que muestra el cotenido de la noticia,salu2
saludos
  #9 (permalink)  
Antiguo 16/12/2004, 12:08
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Cita:
Iniciado por Cluster
index.php?seccion=noticias&accion=notas&id=1
Donde puedo aprender hacer ese tipo de link o me expliken q lo hace "accion" ,
si saben de algun tutorial o faq



Gracias
  #10 (permalink)  
Antiguo 16/12/2004, 14:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Bueno .. no es que sea un "tipo" de link .. sino el concepto de URL y "variables" en el .. (no sé si me explico .. veamos un ejemplo):

En el URL puedes propagar ("motar, enviar a ...") X variables con sus valores según la sitax que ahí ves con el & como separador de grupos de "variable=valor".

Ahora .. el hecho de tener N variables de ese tipo en una estructura de una web "modular" se trata (en mi ejemplo) .. para poder hacer cosas como:

index.php
Código PHP:
<?
switch($_GET['modulo']){
   case 
"noticias":
      
$id=$_GET['id'];
      
$seccion=$_GET['seccion'];
      include (
"noticias.php");
   break;
   case 
"otro":
     
// etc ...
   
break;
}
?>
noticias.php
Código PHP:
<?
switch ($accion){
   case 
"nota":
      include (
"nota.php");
   break;
   case 
"otracosa":
   break;
}
?>
nota.php
Código PHP:
<?
echo "Procesando nota id:".$id;
// etc proceso ...
?>
No es que sea esta la única solución a este "problema" ni la más óptima .. pero es para que te hagas una idea y veas como funciona realmente el hecho de unsar "include()" .. dicha función lo que hace es "llamar al código" que indicas (tu tal.???) lo interpreta y todo junto forma un sólo "script" que se ejecuta como si fuera todo una sóla entidad; por eso tomo los "$_GET['variable']" para el "case" que corresponde y defino "variables globles" (no se exactamente el termino que debería emplear .. pero .. bueno) al hacer $variable=$_GET['variable'] y luego llamarla simplemente con $variable en los otros "include" que voy llamando .. Podrías llamarlos en los respectivos "include" si lo deseas .. como gustes.

Tampoco es neceario que tengas miles de archivos "independientes.php" para hacer hasta la última cosa .. puedes usar por ejemplo en "noticia" el mismo switch() y ahí en los "case .. usas el código de "nota.php" o los otros casos que tengas.

Podrías ver este artículo también ya que ya estás "familiarizado" con esta técnica. No alcanza a tratar el tema concreto que he tratado en este mensaje, pero te puede ayudar.
http://www.zonaphp.com/articulo34.php

Un saludo,

Última edición por Cluster; 16/12/2004 a las 14:18
  #11 (permalink)  
Antiguo 16/12/2004, 21:14
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Gracias por tu ayuda , eres muy amable en explikar todo detalladamente , voy a chekear ese articulo


Saludos
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 16:10.