Foros del Web » Programando para Internet » PHP »

Página sin frames en PHP (Switch)

Estas en el tema de Página sin frames en PHP (Switch) en el foro de PHP en Foros del Web. Hola. Estoy deseando hacer una página web que tenga 3 partes un header.html, un footer.html y después en el medio me cargue la página que ...
  #1 (permalink)  
Antiguo 20/11/2006, 05:35
Avatar de cHiMeNo  
Fecha de Ingreso: diciembre-2003
Mensajes: 7
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Página sin frames en PHP (Switch)

Hola. Estoy deseando hacer una página web que tenga 3 partes un header.html, un footer.html y después en el medio me cargue la página que quiero mediante un enlace. El esqueme sería el siguiente..

================================================== =========
header.html
LINK 1 LINK 2 LINK 3 LINK 4 ..
================================================== ========

Aquí me debería cargar los link1.html, link2.html...etc





================================================== =========
footer.html
================================================== ========

El caso es que no quiero usar frames y quiero hacerlo con PHP, sé que con la función switch podría hacerlo, pero no sé como. Espero me podais ayudar y haya sido claro explicandome. Gracias de antemano.
  #2 (permalink)  
Antiguo 20/11/2006, 13:28
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Weno para que te hagas una idea.

Contenido de Index.php
Código PHP:
<?php include('Paginas.php');?>
<html>
<table width="750" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><?php include('Header.php');?></td>
  </tr>
  <tr>
    <td><?php echo paginas();?> </td>
  </tr>
  <tr>
    <td><?php include('Footer.php');?></td>
  </tr>
</table>
</html>
Contenido de Paginas.php
Código PHP:
<?
function paginas() {
$idPagina=$_GET['idPagina'];
switch (
$idPagina)
 {
    case 
1:
        include(
"tupagina.php");
        break;    
    case 
2:
        include(
"tupagina2.php");
        break;
    default:
        include(
"defecto.php");
        break;
 }
}
?>
Estructura del enlace:index.php?idPagina=x
donde x es el valor de la página que quieras mostrar.
En Header.php y Footer.php se pondrian con el código normal y corriente.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #3 (permalink)  
Antiguo 20/11/2006, 14:12
Avatar de cHiMeNo  
Fecha de Ingreso: diciembre-2003
Mensajes: 7
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias

Muchas gracias! Parece que funciona a la perfección. Lo iré probando más a fondo ;)

  #4 (permalink)  
Antiguo 20/11/2006, 14:36
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Me alegro de que te sirva yo es una cosa que suelo usar en casi todas las páginas para no perder la estructura.

La tabla se puede hacer como quieras, solo es cuestión de jugar con el <?php echo paginas();?> donde le pongas saldran los datos, incluso con el archivo de páginas puedes ponerles titulos o comprobaciones para que nadie pueda llamar al archivo directamente.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #5 (permalink)  
Antiguo 20/11/2006, 14:57
Avatar de cHiMeNo  
Fecha de Ingreso: diciembre-2003
Mensajes: 7
Antigüedad: 20 años, 4 meses
Puntos: 0
¿Cómo es eso de las comprobaciones para no llamar al archivo directamente? Eso me interesa...Gracias por todo
  #6 (permalink)  
Antiguo 21/11/2006, 07:08
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
pon en el archivo Paginas.php la variable

$mostrarpagina = 1;

Y en las otras páginas al principio del archivo pones

Código PHP:
<?php 
   
if ($mostrarpagina != 1) {
      echo 
"No se puede mostrar la página directamente";
   } else {
?>
   resto de codigo ........
   ....
   ...
<?php ?>
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #7 (permalink)  
Antiguo 18/01/2008, 19:21
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

otros tipos de ejemplos sobre el mismo tema alguien sabe
Cita:
================================================== =========
header.html
LINK 1 LINK 2 LINK 3 LINK 4 ..
================================================== ========

Aquí me debería cargar los link1.html, link2.html...etc





================================================== =========
footer.html
================================================== ========

Última edición por kerze; 19/01/2008 a las 07:25
  #8 (permalink)  
Antiguo 19/01/2008, 07:26
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

Posteen No Dejen De Pasar El Tema Please
  #9 (permalink)  
Antiguo 19/01/2008, 07:45
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

Un consejo.. un include mal usado puede dar lugar a un rfi siempre... por lo que es muy recomendable usar include_once, que no conlleva este tipo de peligro, ya que se carga al inicio y tan solo una vez, mientras que con include se carga a cada refresco.. por esta razon un include mal usado es un gran agujero de seguridad.
  #10 (permalink)  
Antiguo 19/01/2008, 09:55
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

Notice: Undefined index: idpagina in E:\EasyPHP 2.0b1\www\prueba\paginas.php on line 3

alguien me dice por que me sale este error, he intenado de todas formas y nada.

aqui esta el codigo al que se refiere

Código PHP:
<?php
function paginas() {
$idpagina=$_GET['idpagina'];
switch (
$idpagina)
 {
    case 
1:
        include_once(
"tupagina.php");
    echo 
"$sopa";
        break;    
    case 
2:
        include_once(
"tupagina.php");
    echo 
"$cecina";
        break;
    default:
        include_once(
"defecto.php");
        break;
 }
}
?>
aun asi con el ejemplo anterior que esta posteado en el primer post me sale eso ojo uso php version 5, solo eso me falla el resto esta ok
  #11 (permalink)  
Antiguo 19/01/2008, 10:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: Página sin frames en PHP (Switch)

Cita:
Iniciado por kerze Ver Mensaje
Notice: Undefined index: idpagina in E:\EasyPHP 2.0b1\www\prueba\paginas.php on line 3

alguien me dice por que me sale este error, he intenado de todas formas y nada.
Hola ese error de Undefined index con esto lo quitas
if(empty($_GET['idpagina']))

o con esto tambien
if(isset($_GET['idpagina']))
__________________
¨
  #12 (permalink)  
Antiguo 19/01/2008, 11:01
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

ya lo agregue pero aun asi me sigue saliendo ese error,, derrepento lo estoy colocando mal, o en que parte agrego eso.
  #13 (permalink)  
Antiguo 19/01/2008, 11:11
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: Página sin frames en PHP (Switch)

esto tambien pero menos adecuada
$idpagina= @$_GET['idpagina'];

mas info en
http://us2.php.net/manual/es/languag...rorcontrol.php
__________________
¨
  #14 (permalink)  
Antiguo 19/01/2008, 11:29
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

ya lo solucione con error_reporting(0); claro que aca desabilito los errores pero dime es seguro este metodo.
  #15 (permalink)  
Antiguo 19/01/2008, 11:37
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: Página sin frames en PHP (Switch)

Cita:
Iniciado por kerze Ver Mensaje
ya lo solucione con error_reporting(0); claro que aca desabilito los errores pero dime es seguro este metodo.
no porque apartir de ahi no se reportaran mas errore.
esto @ quita el error solo en la linea donde se origina el error y si hay otro mas
abajo lo reportara.

tu codigo deveria ir asi
Código PHP:
<?php
function paginas() {
if(empty(
$_GET['idpagina'])) 
$idpagina'idpagina'
else 
$idpagina$_GET['idpagina']; 

switch (
$idpagina

     case 
1:
        include_once(
"tupagina.php");
    echo 
"$sopa";
        break;    
    case 
2:
        include_once(
"tupagina.php");
    echo 
"$cecina";
        break;
    default:
        include_once(
"defecto.php");
        break;
 }
}
?>
__________________
¨
  #16 (permalink)  
Antiguo 19/01/2008, 11:52
Avatar de kerze  
Fecha de Ingreso: julio-2006
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Página sin frames en PHP (Switch)

De esa forma no me lo habia pensado gracias man ya esta solucionado, muchas gracias.
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 1 personas




La zona horaria es GMT -6. Ahora son las 19:32.