Foros del Web » Programando para Internet » PHP »

Crear pagina tipo ?seccion=juegos ¿como?

Estas en el tema de Crear pagina tipo ?seccion=juegos ¿como? en el foro de PHP en Foros del Web. Hola queria saber que script tengo que poner para hacer ese tipo de urls. Actualmente tengo un index.php que quiero poner como esto index.php?marca=marca1 y ...
  #1 (permalink)  
Antiguo 14/06/2004, 07:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Pregunta Crear pagina tipo ?seccion=juegos ¿como?

Hola

queria saber que script tengo que poner para hacer ese tipo de urls. Actualmente tengo un index.php que quiero poner como esto index.php?marca=marca1 y index.php?modelo=modelo1

Código PHP:
<?php if ($modelo) {$modelo="$modelo1"."inc/modelos/"."modelo1.php";
include(
"$modelo");
}
if (
$marca) {$marca="$marca1"."inc/marcas/"."marca1.php";
include(
"$marca");
?>
pero si pongo para un modelo2, tambien me muestra el modelo1, que es lo que no quiero, tampoco quiero que tenga que definir el archivo a incluir si pongo modelo1, modelo2 o marca1 o marca2, si no que incluya el archivo php con el mismo nombre.


En las faqs he visto este script
Código PHP:
<? 
$id
=$_GET['id']; 

switch (
$id) { 
   case 
1
       include(
"pagina1.php"); 
       break; 
   case 
2
       include(
"pagina2.php"); 
       break; 
   case 
3
       include(
"pagina3.php"); 
       break; 
   default: 
       include(
"pagina_por_defecto.php"); 
// estado default .. nos determina el estado 
// "si no es ninguna opcion de las anteriores". 

?>
pero seria bastante lio para ir añadiendo uno a uno ya que serian bastantes archivos...

A ver si podeis ayudarme

Un saludo

Última edición por ZoLkIeN; 14/06/2004 a las 11:05
  #2 (permalink)  
Antiguo 17/06/2004, 04:25
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 0
ando envias los datos recoges la variable $modelo (supongo) aunque vacia.
Código PHP:
$modelo=$_GET ["modelo"];
$marca=$_GET ["marca"]; 
Y lo que estas queriendo hacer es que SI existe $modelo realice $modelo="$modelo1"."inc/modelos/"."modelo1.php.......
Código PHP:
<?php if ($modelo) {$modelo="$modelo1"."inc/modelos/"."modelo1.php"
include(
"$modelo"); 
}
Prueba a comprobar que la variable llegue pero con contenido.
Código PHP:
<?php if (!$modelo="") {$modelo="$modelo1"."inc/modelos/"."modelo1.php"
include(
"$modelo");
Espero que sea deutilidad
__________________
Hay tanto que aprender y tan poco tiempo
  #3 (permalink)  
Antiguo 17/06/2004, 05:19
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Torus, gracias por contestarme, buscando en el manual oficial de php encontre este codigo:

Código PHP:
<?php   $path 'inc/modelos/';
  
$extension '.php';
  
  if ( 
preg_match("#^[a-z0-9_]+$#i",$movil) ){
   
$filename $path.$movil.$extension;
   include(
$filename);
  }
    
$path2 'inc/marcas/';
  
$extension '.php';
  
  if ( 
preg_match("#^[a-z0-9_]+$#i",$marca) ){
   
$filename $path2.$marca.$extension;
   include(
$filename);
  } 
?>
es justamente lo que andaba buscando, solo me queda una pregunta, que codigo debo de añadir para cuando no exista el archivo .php a incluir salga un .php de error diciendo que el modelo o marca elegido no existe?

Un saludo
  #4 (permalink)  
Antiguo 17/06/2004, 07:13
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 0
Se me ocurre una "Chapuilla" .
Al comienzo del if pon una variable a cero ejemplo $error=0;
si existe el fichero $error=1 compruebas $error y si es 1 haces la salida de error + o - quedaria así:
Código PHP:
<?php   $path 'inc/modelos/'

  
$extension '.php'
   
$error=0;
  if ( 
preg_match("#^[a-z0-9_]+$#i",$movil) ){ 
$error=1;
   
$filename $path.$movil.$extension
   include(
$filename); 
  } 
       
  if ( 
$error==0) ){ 
   echo 
"arcivo no encontrado"

  } 
?>
puede ser una solucion ¿no?
Saludos
__________________
Hay tanto que aprender y tan poco tiempo
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

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:00.