Foros del Web » Programando para Internet » PHP »

Fucionar códigos php modular

Estas en el tema de Fucionar códigos php modular en el foro de PHP en Foros del Web. Buenas, tengo el siguiente código: Código PHP: <?php if(!isset( $_GET [ 'page' ])){     include( "pages/home/home.php" ); //home }elseif( $_GET [ 'page' ] ==  "home" ){     include( ...
  #1 (permalink)  
Antiguo 29/05/2008, 22:30
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 5
Fucionar códigos php modular

Buenas, tengo el siguiente código:
Código PHP:
<?php
if(!isset($_GET['page'])){
    include(
"pages/home/home.php");//home
}elseif($_GET['page'] == "home"){
    include(
"pages/home/home.php");//home
}elseif($_GET['page'] == "contacto"){
    include(
"pages/contacto/contacto.php");//contacto
}
?>
<?php
if(!isset($_GET['manuales'])){
    include(
"pages/manuales/manuales.php");//home
}elseif($_GET['manuales'] == "manuales"){
    include(
"pages/manuales/manuales.php");//home
}
?>
<?php
if(!isset($_GET['html'])){
    include(
"pages/html/html.php");//home
}elseif($_GET['html'] == "html"){
    include(
"pages/html/html.php");//home
}
?>
<?php
if(!isset($_GET['css'])){
    include(
"pages/css/css.php");//home
}elseif($_GET['css'] == "css"){
    include(
"pages/css/css.php");//home
}
?>
<?php
if(!isset($_GET['psd'])){
    include(
"pages/psd/psd.php");//home
}elseif($_GET['psd'] == "psd"){
    include(
"pages/psd/psd.php");//home
}
?>
<?php
if(!isset($_GET['js'])){
    include(
"pages/js/js.php");//home
}elseif($_GET['js'] == "js"){
    include(
"pages/js/js.php");//home
}
?>
<?php
if(!isset($_GET['php'])){
    include(
"pages/php/php.php");//home
}elseif($_GET['php'] == "php"){
    include(
"pages/php/php.php");//home
}
?>
Resulta que no funciona

¿Cómo hago para que funcione?
URL: pidanlá por que capaz que piensan que hago spam
  #2 (permalink)  
Antiguo 29/05/2008, 22:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Fucionar códigos php modular

"Resulta que no funciona" ¿y por qué no funciona?, créeme que se te podría ayudar si lo dices.

¿Cómo llamas a el archivo?, ¿cómo pasas los parámetros?.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 30/05/2008, 08:22
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Fucionar códigos php modular

Es así....

Se trata de 3 archivos como mínimo:
Index.php - Es el que tiene el include a page.php
Page.php - Es el que incluye a home.html con un include e imprimiendo el contenido de home.html en index.php

Si pones index.php?page=home que aparece home.html

Funciona así, yo quiero ponerle: ?html=html, ?page=home, ?css=css, etc...

Muchas gracias espero su respuesta
  #4 (permalink)  
Antiguo 30/05/2008, 09:13
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 16 años
Puntos: 1
Respuesta: Fucionar códigos php modular

cambia todos los elseif por if y funcionara
  #5 (permalink)  
Antiguo 30/05/2008, 09:19
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Fucionar códigos php modular

Para muchas opciones es mejor utilizar switch

Código PHP:
<?
switch($_GET['page'])
{
    case 
home:  include('pages/home/home.php'); break;
    case 
contacto:  include('pages/contacto/contacto.php'); break;
    default: include(
'pages/home/home.php'); break;
}
?>
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #6 (permalink)  
Antiguo 30/05/2008, 12:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Fucionar códigos php modular

Cita:
Iniciado por MRB08 Ver Mensaje
Funciona así, yo quiero ponerle: ?html=html, ?page=home, ?css=css, etc...
No entendí (en realidad a esa oración le falta algo), pero si estás intentando concatenar así varios parámetros que quieres pasar al script... eh ahí su error... y no es tema de PHP.

La forma de pasar varios parámetros es concatenarlos con un ámperson (&). Un ejemplo podría ser:
archivo.php??html=html&page=home&css=css&etc=etc.. .

@IkerPerez: ¿cuál es la lógica detrás de eso?... en verdad creo esta bien así.

Y es buen consejo del que dice shakaran, tendrás un código mejor estructurado.... solo que con lo que se compara es una cadena y tienes que estar entre comillas:
Código PHP:
    case 'home':       include('pages/home/home.php'); break;
    case 
'contacto':  include('pages/contacto/contacto.php'); break;
    default:               include(
'pages/home/home.php'); break; 
Entonces... espero sea eso de cómo llamas a tu scrip. Sino por favor explicate un poquito mejor.

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 30/05/2008, 12:19
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Fucionar códigos php modular

@jam1138

Difiero contigo, en que el valor de los case, ha de entrecomillarse. Esto NO es obligatorio y se puede poner así, compilando el código y ejecutándose perfectamente.

Únicamente te lanzará unos "notice" o avisos de que las "constantes" no se han declarado, ya que php las interpretara como constantes de cadena al comparar. Pero puesto que esos notice son "pedantic", no pasa nada y es más rápido escribir así el código.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #8 (permalink)  
Antiguo 30/05/2008, 12:42
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Fucionar códigos php modular

hola a todos, @MRB08, para hacer una buena web modular, te recomiendo el tutorial de zonaphp.com:
http://www.zonaphp.com/creando-webs-modulares/

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #9 (permalink)  
Antiguo 30/05/2008, 19:12
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Fucionar códigos php modular

Naaa, no quiero saber nada de zonaphp, sus manuales soy ree extensos y no tengo tiempo para leerlos, y no los entiendo muy vien..nose,..


Bueno, muchas gracias a todos, voy a probar ese código:
Código PHP:
<?php
switch($_GET['page'])
{
    case 
home:  include('pages/home/home.php'); break;
    case 
contacto:  include('pages/contacto/contacto.php'); break;
    default: include(
'pages/home/home.php'); break;
}
?>

EDITADO, NONONO, lo que quiero es tener varias modulares, ?ejemplo1=pagina y al mismo tiempo usarlo para ?ejemplo2=pagina

Me explico?

Última edición por MRB08; 30/05/2008 a las 19:30
  #10 (permalink)  
Antiguo 31/05/2008, 07:19
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Fucionar códigos php modular

Cita:
Iniciado por MRB08 Ver Mensaje
[...]
EDITADO, NONONO, lo que quiero es tener varias modulares, ?ejemplo1=pagina y al mismo tiempo usarlo para ?ejemplo2=pagina

Me explico?
definitivamente tu solucion esta en zonaphp.com, creo que si estas apurado, lo mejor es mirar y entender algo que ya esta hecho, ademas de muy bueno y bien explicado, te vas a demorar mas haciendo algo por ti y tratando que los demas te ayudemos.
intentalo

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #11 (permalink)  
Antiguo 31/05/2008, 10:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Fucionar códigos php modular

Cita:
Iniciado por shakaran Ver Mensaje
Difiero contigo, en que el valor de los case, ha de entrecomillarse. Esto NO es obligatorio y se puede poner así, compilando el código y ejecutándose perfectamente.

Únicamente te lanzará unos "notice" o avisos de que las "constantes" no se han declarado, ya que php las interpretara como constantes de cadena al comparar. Pero puesto que esos notice son "pedantic", no pasa nada y es más rápido escribir así el código.
... y el tratamiento de esos "notice" y esa "constante" no definida cuesta tiempo. Lo que hace PHP cuando te topas con eso es intentar darle un sentido, por eso que se le asigna su valor como cadena, pero igual puede tomar el valor false, null, 0... y eso podría atraer problemas.

No digo que no funcione, sí, funciona, pero no escribirlas porque el código es más rápido de escribir, sin preocuparse por el de su ejecución... ¡es una comilla!, ¿cuánto tiempo toma pulsar una tecla?. Vámos, te lo creo si sería un código raro en el que habría que hacer una seria de combinación de teclas, y luego, un buen editor te ayudaría bastante. En mi caso escribo solo una comilla, el editor escribe la otra (la de cierre) y pone el puntero en medio de estás, es realmente práctico y rápido.

En resumen: sí, funciona, pero es hacer las cosas de una manera no correcta. Eso es lo que se le critica a PHP, pero no es el lenguaje, es quien lo escribe.

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 31/05/2008, 10:42
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Fucionar códigos php modular

Cita:
Iniciado por MRB08 Ver Mensaje
EDITADO, NONONO, lo que quiero es tener varias modulares, ?ejemplo1=pagina y al mismo tiempo usarlo para ?ejemplo2=pagina
Y es lo que estás haciendo (masomenos...) solo que no lo haz entendido. En tus URLs no es escribir "ejemplo1" y "ejemplo2", lo que cambia es el valor, no la variable!.

archivo.php?pagina=home
archivo.php?pagina=noticias
Código PHP:
<?php
/**
 * archivo.php
 */

switch($_GET['pagina']) {
    case 
'home':
         include (
'elcontenidode/home.php');
         break;
    case 
'noticias':
         include (
'elcontenidode/noticias.php');
         break;
    default:
        include (
'elcontenide/pordefault.php');
}
En definitiva lee los artículos de zonaPHP. En las FAQs también tienes el tema. Lee.

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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:17.