Comunidad oficial de diseñadores web, web developers y Webmasters. Aqui podemos tratar temas actuales sobre diseño y tecnología. Podemos compartir y actualizarnos. Photoshop, Flash, PHP, ASP, Java, HTML, CSS, MySQL, CMS, etc. Unite YA y lee los Sticky

Ver más
  • 13,065 Miembros
  • 9,531 Temas
  • 3,449 Seguidores
  • 0

[Ayuda] Cargar HTML dentro de php usando include

YA LO SOLUCIONE PERO TODAVIA ME QUEDA LA DUDA DE SI ES VULNERABLE O NO CUANDO ALGUIEN ME RESPONDA ESO CAMBIO EL TITULO, GRACIAS POR LAS RESPUESTAS!


Solucionado quedo así:

<body>
<div id="menu">
<ul>
  <p><a href="index.php?p=ranking">link1</a>  
  <p>&nbsp;  </p>
  <a href="index.php?p=registro">link2</a></p>
</ul>
</div>
<div id="contenido">
<?php
switch ($_GET["p"]) {
        case 
"ranking":
          include(
'ranking.html');
        break;

        case 
"registro":
          include(
'registro.html');
        break;
     
        default:
           include(
'noticias.html');

}
?>
</div>
</body>



Hola gente estoy intentando cargar un documento HTML o varios desde mi index.php para lograr tener un especie de TEMPLATE y cargar contenidos sin tener que editar todo cada vez que quiero realizar un cambio.

Esto es lo que logre:
 <body>
<div id="menu">
<ul>
  <p><a href="index.php?p=ranking">link1</a>  
  <p>&nbsp;  </p>
  <a href="index.php?p=registro">link2</a></p>
</ul>
</div>
<div id="contenido">
<?php
switch ($_GET["p"]) {
        case 
"ranking":
                      include(
'ranking.html');
                break;
        case 
"registro":
                      include(
'registro.html');
                break;
}
?>
</div>
</body>

Ahora el problema es que cuando cargo el index no hay contenido "DEFAULT" y me gustaría que cuando uno entra a XXXXXX.COM/INDEX.PHP se muestre el archivo llamado NOTICIAS.HTML y cuando se haga click en registro o ranking desaparezca.

aprovecho para preguntar si este código es vulnerable? según tenia entendido si colocabas $_GET en el include se volvía vulnerable pero quisiera que me lo confirme alguien que sepa bien.

ESPERO SUS RESPUESTAS Y GRACIAS DE ANTEMANO.
  • 0
  • 0Calificación
  • 0Seguidores
  • 285Visitas
  • 0Favoritos

6 respuestas

@leo995jojo dijo Hace más de 3 meses:

te muesto como ago yo mira:
index.php:

<?php
include 'config.php';
?> 
<html>
<link href="temas/default/estilos.css" rel="stylesheet" type="text/css">
<head>
<title><?php echo $web.' - '.$slogan?></title>
</head>
<body>
<head>
</head>
<div class="header">
<?php require_once 'temas/default/templates/secciones/header.php'?>
</div>
<div class="menu">
<?php require_once 'temas/default/templates/secciones/menu.php'?>
</div>
<div class="main">
<div class="wrapper">
<?php require_once 'temas/default/t.pages.php'?>
</div>
<div class="footer">
<?php require_once 'temas/default/templates/secciones/footer.php'?>
</div>
</div>
</body>
</html>

el archivo pages.php

<?php
if (!isset($_GET['pages'])) {
    include(
"templates/t.home.php"); //esto indica cual sera la web pricipal..
} else {
    include(
"templates/".$_GET['pages'].".php");
}
?>

aora para ir a la seccio que quieras asi:
tuweb.com/index.php?pages=nombre_del_arcivo(sin el .php / .html etc)

@Samu22 dijo Hace más de 3 meses:

si bien como dice el usuario de arriba es correcto, te recomendaria que indages por sistemas de templates como smarty, son muy utilies y te puede orientar mas a la hora de organizarte y luego si usar un metodo personalizado, yo trabajo las vistas con un objeto que renderiza los templates

@cachusan dijo Hace más de 3 meses:



<?php
switch ($_GET["p"]) {
        case 
"ranking":
          include(
'ranking.html');
        break;

        case 
"registro":
          include(
'registro.html');
        break;
     
        default:
           include(
'noticias.html');

}
?> 

@cachusan dijo Hace más de 3 meses:

Pregunto, vulnerable en que sentido?

Igual por las dudas, te respondo lo que se podría hacer:

- Antes que nada, valida que $_GET['p'] este definidido <?php if(isset($_GET['p'])) : ?>
- Si lo esta, mete el switch
- Si esta vacio, ahi haces el include de noticias (claro caso cuando entras por la home, 'p' no definido)
- Si te meten otro valor en 'p', ejemplo p=hola, actualmente va a cargar noticias.html, lo cual no es correcto; o en todo caso es erroneo. Debería tirar un 404 o una pagina de error. Y ese defería ser tu default en el switch.


<?php 

if(isset($_GET['p'])){
   switch (
$_GET['p']) {
        case 
"ranking":
           include(
'ranking.html');
        break;

        case 
"registro":
           include(
'registro.html');
        break;
     
        default:
           include(
'error.html');

   }
}else{
  include(
'noticias.html');
}

?>



Saludos

@halcyonfreak dijo Hace más de 3 meses:

2 cosas: La primera es que deberias usar un isset($_GET.....) para que cargue solo cuando hay datos, lo segundo es porque cambiar el contenido del medio? Porque no lo vez del lado contrario, que cada contenido central tenga incluido un header y un footer de ese modo reutilizaras codigo y obtendras el mismo resultado que buscas.

Tienes que ser miembro para responder en este tema