¿Enlazar un archivo.php en una misma página?

Iniciado por Clavo Oxidado, 5 Mayo 2010, 22:38 PM

0 Miembros y 3 Visitantes están viendo este tema.

‭‭‭‭BadStupidMonkey.

#10
Código (php) [Seleccionar]
function bloque_pagina_tres(){
 echo '<div id="portada">';
 include 'test.txt';
 echo '</div>';
}


PD: No se pa que me he complicado tanto... con lo facil que era poner este  :xD

Saludos

Clavo Oxidado

Siento por dar la calabaza de nuevo, pero el código:

Código (php) [Seleccionar]

function bloque_pagina_tres(){
  echo '<div id="portada">';
  include 'test.txt';
  echo '</div>';
}


Sigue sin ir, no me muestra el contenido, nosé que es lo que está fallando, nosé si el planteamiento como lo estoy definiendo en el código no lo traga, yo de todas formas estoy probando de una forma y de otra, pero vamos por mucho que cambie sigue sin ir... Siento por dar mucho la lata pero parece que esto se esta convirtiendo en un reto. XD

Un Saludo
"Dame 10 Hackers y en media hora dominaré el mundo."

‭‭‭‭BadStupidMonkey.

 :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬


Pon el codigo como lo tienes... pon como llamas la funcion.. y el codigo del archivo del include.





Saludos

Clavo Oxidado

Aquí se muestra el contenido de cada función... "funciones_pagina_bloque.php"

Código (php) [Seleccionar]

<?php
function 
bloque_banner(){ // bloque_banner tendra el 'id' banner en css
$contenido='
<div id="contenedor">
<div id="cabecera">
</div>'
;

return $contenido.($_SESSION['sesion_iniciada']?$registrado:$formulario).$buscador.$fin_div;
}

function bloque_botonera(){
/* No hay link al foro por el momento */
$contenido='
<div id="botonera">
<h5></h5>
<ul class=botonera_item>
<li id="bienvenidos">
<a class="botonera_item selected" href="index.php?tipo=portada">Bienvenidos</a>
</li>
<li id="quienes_somos">
<a class="botonera_item selected" href="index.php?tipo=pagina_dos">Quienes somos</a>
</li>
<li id="catalogos_de_productos">
<a class="botonera_item selected" href="index.php?tipo=pagina_tres">Catalogos de Productos</a>
</li>
<li id="expositores">
<a class="botonera_item selected" href="index.php?tipo=pagina_cuatro">Expositores</a>
</li>
<li id="minivending">
<a class="botonera_item selected" href="index.php?tipo=pagina_cinco">Minivending</a>
</li>
<li id="noticias">
<a class="botonera_item selected" href="index.php?tipo=pagina_seis">Noticias</a>
</li>
<li id="descargas">
<a class="botonera_item selected" href="index.php?tipo=pagina_siete">Descargas</a>
</li>

<li id="trabaja_con_nosotros">
<a class="botonera_item selected" href="index.php?tipo=pagina_ocho">Trabaja con Nosotros</a>
</li>
<!--
<li>
<a class="botonera_item selected" href="index.php?tipo=noticias">Contacto</a>
</li>  -->

<!-- <li>
<a class="botonera_item selected" href="index.php?tipo=foro">Foro</a>
</li> -->


<li id="contacto">
<a class="botonera_item selected" href="index.php?tipo=contacto">Contacto</a>
</li>  

<!--
<li>
<a class="botonera_item selected" href="index.php?tipo=archivos">Subidas-Descargas</a>
</li> -->
</ul>
</div>
'
;
return $contenido;
}

function bloque_portada(){
$contenido="<div id='portada'>
<!-- <h1>Bienvenido</h1> -->
<div id='bienvenida'>
<p style='text-align: right;'><embed width='458' height='280' src='medios/imagenes/larondena.mov'></embed></p>
<div class='lineas_producto'>P&Aacute;GINA EN CONSTRUCCI&Oacute;N
<div id='lineas_producto_img'> 
</div>
</div>
</div>"
;
if ($_SESSION['sesion_iniciada'] == 1
$contenido.="<a href='?tipo_formulario=admin_alta_usuario'>Administraci&oacute;n de alta de usuarios</a><br/><br/>
<a href='?tipo=administracion'>Men&uacute; de Administración</a>"
;
$contenido.="
</div>"
;
return $contenido;
}


function bloque_pagina_dos(){
$contenido="<div id='portada'>
<h4>METODOLOG&Iacute;A EN LA SEGURIDAD INFORM&Aacute;TICA</h4>
<div id='bienvenida'>
<p>En esta secci&oacute;n se elaborar&aacute; de como debemos de actuar ante un ataque en un sistema inform&aacute;tico.
Para ello debemos de tener un plan de contigencia, as&iacute; aplicando unos procedimientos b&aacute;sico de la Normativa ISO 27001</p>
</div>
</div>"
;
return $contenido;
}



function 
bloque_pagina_tres(){
  echo 
'<div id="portada">';
  include 
'test.txt';
  echo 
'</div>';
 }



function bloque_pagina_cuatro(){
$contenido="<div id='portada'>
<h4>AT&Aacute;QUES Y CONTRAMEDIDAS</h4>
<div id='bienvenida'>
<p>En est&aacute; secci&oacute;n conoceremos los distintos ataques que existen hoy al d&iacute;a en la que estan siendo m&aacute;s vulnerado en los sistemas inform&aacute;ticos 
y veremos como podemos evitar estos tipos de ataques. </p>
</div>
</div>"
;
return $contenido;
}

function bloque_pagina_cinco(){
$contenido="<div id='portada'>
<h4>CRIPTOGRAF&Iacute;A Y ESTEGANOGRAF&Iacute;A</h4>
<div id='bienvenida'>
<p>En est&aacute; secci&oacute;n veremos cifrar los mensajes de texto y tambien como podemos ocultar informacion desde cualquier tipo de archivo, texto, imagenes, video, ect... </p>
</div>
</div>"
;
return $contenido;
}

function bloque_pagina_seis(){
$contenido="<div id='portada'>
<h4>PROYECTOS</h4>
<div id='bienvenida'>
<p>En est&aacute; secci&oacute;n se afrentar&aacute; distintos proyecto para del desarrollamiento de nuevos ataques y nuevas prevenci&oacute;nes</p>
</div>
</div>"
;
return $contenido;
}

function bloque_pagina_siete(){
$contenido="<div id='portada'>
<h4>CONFERENC&Iacute;AS</h4>
<div id='bienvenida'>
<p>En esta secci&oacute;n se debatir&aacute; las distintas conferencias, seminarios, eventos y ponencias sobre la Seguridad Inform&aacute;tica;</p>
</div>
</div>"
;
return $contenido;
}


function bloque_pagina_ocho(){
$contenido="<div id='portada'>
<h4>PROYECTO DE LAMP</h4>
<div id='bienvenida'>
<p>En esta secci&oacute;n se dedicar&aacute; exclusivamente proyectos desarrollados en LAMP</p>
</div>
</div>"
;
return $contenido;
}



function bloque_pie(){
$contenido="<div id='altura_minima'></div><div class='clear'></div></div>
<div id='pie'>
<p class='textopie'>Nuevo Proyecto para Reposter&iacute;a Alcoholado, actualmente en Construcci&oacute;n 2010.</p>
<p class='textopie'>Realizando &iacute;ntegramente bajo Linux y alojado en un servidor Apache.</p>
<p class='textopie'>
<a href='http://www.ubuntu.com/'><img src='medios/imagenes/l_ubuntu.png' class='noborder' alt='Sistema Operativo Linux distr. Ubuntu'></a>
<a href='http://httpd.apache.org/'><img src='medios/imagenes/l_apache.png' class='noborder' alt='Servidor Web Apache'></a>
<a href='http://www.mysql.com/'><img src='medios/imagenes/l_mysql.png' class='noborder' alt='Base de Datos abierta MySql'></a>
<a href='http://www.php.net/'><img src='medios/imagenes/l_php.png' class='noborder' alt='Lenguaje de desarrollo de webs dinámicas PHP'></a>
<a href='http://www.mozilla-europe.org/es/firefox/'><img src='medios/imagenes/l_firefox.png' class='noborder' alt='Navegador Mozilla Firefox 3.0'></a>
<a href='http://www.geany.org/'><img src='medios/imagenes/l_geany.png' class='noborder' alt='IDE Geany'></a>
<a href='http://www.gimp.org/'><img src='medios/imagenes/l_gimp.png' class='noborder' alt='Software libre para manipulación de gráficos The Gimp'></a>
<a href='http://www.w3.org/'><img src='medios/imagenes/l_w3c.png' class='noborder' alt='Validado W3C'></a></p>"
;
$contenido.="
</div>
"
;
return $contenido;
}

function bloque_contacto(){
$contenido='<div id="inicio">
         <div id="nombre">
         <h2>Empresa ficticia</h2>
         <p>Somos una empresa ficticia, pero que las apariencias no engañen: somos peleones</p>
         </div>
         <div id="datos">
         <ul class="entrada">
         <li class="titulo">Nombre</li>
         <li class="dato">Empresa ficticia S.A.</li>
         </ul>
         <ul class="entrada">
         <li class="titulo">Direcci&oacute;n</li>
         <li class="dato">Parque Tegnol&oacute;gico de Andaluc&iacute;a</li>
         </ul>
         <ul class="entrada">
         <li class="titulo">Presidente</li>
         <li class="dato">Sr. Anónimo sinnombre</li>
         </ul>
         <ul class="entrada">
         <li class="titulo">N&uacute;mero de empleados</li>
         <li class="dato">Demasiados</li>
         </ul>
         <ul class="entrada">
         <li class="titulo">N&uacute;mero de tel&eacute;fono</li>
         <li class="dato">666 666 666</li>
         </ul>
         <ul class="entrada">
         <li class="titulo">Correo electr&oacute;nico</li>
         <li class="dato">prueba@prueba.es</li>
         </ul>
         </div>
         <div id="map" style="width: 550px; height: 450px;"></div>
        </div>

    <noscript><p>javascript debe estar habilitado para usar Google Maps</p>
    </noscript>
 

    <script type="text/javascript">
    //<![CDATA[
    
    _mF[41] = true;
    var scripts = document.getElementsByTagName("SCRIPT")
    for (var n = 0 ; n < scripts.length ; n++ ){
      var a=scripts[n].src;
      var ix=a.indexOf("mapfiles");
      if (ix>-1) {
        GUnload();
        GLoadMapsScript(a);          
        n = Infinity;
      }
    }


    if (GBrowserIsCompatible()) {

      function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }
      
      function load() {
        // Display the map, with some controls and set the initial location 
        var map = new GMap2(document.getElementById("map"),{mapTypes:G_MARS_MAP_TYPES});

        map.setCenter(new GLatLng(43.907787,-79.359741),3);
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());


        var point1 = new GLatLng(43.65654,-79.90138);
        var marker = createMarker(point1,"<div style=>Aqui estamos nosotros <p>Hace frío, pero es muy acogedor</div>")
        map.addOverlay(marker);

      }

    }
    
    //]]>
    </script>'
;
    return 
$contenido;
}


?>



Este es otro archivo donde se definen las funciones funciones_pagina.php

Código (php) [Seleccionar]


<?php

function 
cabecera($tipo) {
$titulo 'Proyecto LAMP';

$maps '';
switch ($tipo)
{
//case '' : $tipo ='portada';  //así forzamos que tenga un tipo

case 'portada'  $titulo.=' - Portada';
  break;
case 'pagina_dos'  $titulo.=' - Pagina Dos';
  break;
case 'pagina_tres'  $titulo.=' - Pagina Tres';
  break;
case 'pagina_cuatro'  $titulo.=' - Pagina Cuatro';
  break;
case 'pagina_cinco'  $titulo.=' - Pagina Cinco';
  break;
case 'pagina_seis'  $titulo.=' - Pagina Seis';
  break;
case 'pagina_siete'  $titulo.=' - Pagina Siete';
  break;
case 'pagina_ocho'  $titulo.=' - Pagina Ocho';
  break;
case 'pagina_nueve'  $titulo.=' - Pagina Nueve';
  break;
case 'contacto'$titulo.=' - Contacto';
$maps '    <script type="text/javascript">
       var _mF = [];
       _mF[41] = true;
     </script>
     <script src="http://maps.google.com/maps?file=api&amp;v=2.95&amp;key=ABQIAAAA3qyl_FEhGYSK9pSjzs-SVBRRmxvsDchdZPynv1Lw2iDuExpu_hRedE5TdRiy6czrOuJj2d3qm2FCLA" type="text/javascript"></script>'
;
break;
 
}

$cabecera '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">'
."\n".
'<head>
<title>'
.$titulo.'</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="medios/estilos/estilo.css" />'
.$maps.$editor_texto.'
</head>'
."\n";
return $cabecera;
}

function cuerpo($tipo) {  //al hacer la asignación en la definición
// de la función , le damos un valor por defecto
//en caso de que no lo tuviera
$body '<body>';
switch ($tipo)
{

case 'portada'  $cont_cuerpo.=cuerpo_portada();
  break;
case 'pagina_dos'  $cont_cuerpo.=cuerpo_pagina_dos();
  break;
case 'pagina_tres'  $cont_cuerpo.=cuerpo_pagina_tres();
    break;
case 'pagina_cuatro'  $cont_cuerpo.=cuerpo_pagina_cuatro();
     break;
case 'pagina_cinco'  $cont_cuerpo.=cuerpo_pagina_cinco();
     break;
case 'pagina_seis'  $cont_cuerpo.=cuerpo_pagina_seis();
     break;
case 'pagina_siete'  $cont_cuerpo.=cuerpo_pagina_siete();
    break;
case 'pagina_ocho'  $cont_cuerpo.=cuerpo_pagina_ocho();
    break;
case 'pagina_nueve'  $cont_cuerpo.=cuerpo_pagina_nueve();
    break;


case 'contacto'$cont_cuerpo.=cuerpo_contacto();
$body '<body onunload="GUnload()" onload="load()">';
  break;

}


return $body.$cont_cuerpo.error_muestra().'</body>';

}

function fin() {
return '</html>';
}


function crea_pagina_especifica($tipo) {
/* La primera vez que accedemos a la pagina $tipo = '' por lo que
 * direccionamos a la portada o pagina principal.
 */

$contenido cabecera($tipo).cuerpo($tipo).fin();
return $contenido;
}

function crea_pagina() {

session_start();
$tipo averigua_tipo_pagina();
return crea_pagina_especifica($tipo);
}

function averigua_tipo_pagina()
{
switch ($_REQUEST['tipo_formulario'])
{
case 'registro':
$tipo='registro';
procesa_formulario_registro();
break;

case 'inicio_sesion':
$tipo='portada'/*arreglar con variables de sesion*/
if (bd_comprueba_usuarios($_REQUEST['nick'], $_REQUEST['password']))
{
$_SESSION['sesion_iniciada'] = 1;
$_SESSION['username']=$_REQUEST['nick'];
}
break;

case 'cerrar_sesion':
$tipo='portada'/*arreglar con variables de sesion*/
$_SESSION['sesion_iniciada'] = 0;
$_SESSION['nivel'] = -1;
break;

case 'admin_alta_usuario':// Caso para la administración de usuarios
$tipo='admin_alta_usuario';
procesa_admin_alta_usuario();
break;

case 'buscador':
 $tipo='buscador';
 //buscador($_REQUEST['buscar']);
 //$_SESSION['buscar'] ;
 break;

case 'foro'://Caso para la visualización de los foros
$tipo='foro';
break;
case 'foro_topics'://Muestra los topics relacionados con un foro
$tipo='foro_topics';
case 'foro_topics_comentarios': //Muestra los comentarios de un topic
$tipo='foro_topics_comentario';
break;
default:
{
(isset($_GET['tipo']))?($tipo $_GET['tipo']):($tipo='portada');
}
}
return $tipo;
}


function cuerpo_portada(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_portada().
   bloque_pie();

return $contenido;

}

function cuerpo_noticias(){
$contenido=bloque_banner().
  "<div class='caja'>".
   bloque_botonera().
   bloque_noticias().   
   bloque_pie();

return $contenido;
}


function escribe_pagina(){
echo crea_pagina();
}

function cuerpo_contacto(){
$contenido=bloque_banner().
   bloque_botonera().   
   bloque_contacto().
  
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_dos(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_dos().
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_tres(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_tres().
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_cuatro(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_cuatro().  
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_cinco(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_cinco().
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_seis(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_seis().  
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_siete(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_siete().
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_ocho(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_ocho().
   bloque_pie();
return $contenido;
}

function cuerpo_pagina_nueve(){
$contenido=bloque_banner().
   bloque_botonera().
   bloque_pagina_nueve().
   bloque_pie();
return $contenido;
}

?>




Y del include.... catalogo.php

Código (php) [Seleccionar]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

<head>
<title>
Catalogo de Productos
</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="productos.css" />
</head>
<body>

<?php

$conexion 
mysql_connect('localhost','notengousuario','notengocontraseña');
mysql_select_db('tiendaprueba');
$tabla mysql_query('SELECT * FROM productos');
while (
$registro mysql_fetch_array($tabla)) 
{  
?>


<img src="imagenes/<?php echo $registro['fotop']; ?>" >

<?php echo $registro['nomprod']; ?>
<?php echo $registro['detalles']; ?>


<?php

}
mysql_free_result($tabla);
mysql_close($conexion);

?>


</body>
</html>



Eso es lo que tengo por de momento, aparte tengo otras funciones que aún no he ehco su llamada... el css no creo que hace falta no? Bueno ya me diréis, esto es un código interminable....XD

UN SALUDO!
"Dame 10 Hackers y en media hora dominaré el mundo."

Clavo Oxidado

Por cierto si hace falta para mayor comodidad podría subir todos los archivos en una carpeta comprimida y solo sería ejecutar el index. Ya me diréis....

UN SALUDO!
"Dame 10 Hackers y en media hora dominaré el mundo."

merolhack

Yo le hize asi y si funciono:
funciones.php
<?php
function bloque_pagina_tres(){
  
$contenido '<div id="portada">';
  
$contenido .= include 'test.php';
  
$contenido .= '</div>';
  echo 
$contenido;
 }

bloque_pagina_tres();
?>

y el archivo test.php debe de ser así:
<?php
$var 
"aaaa";

return 
$var;
?>


Esto viene en el ejemplo 5 de esta página:
http://php.net/manual/en/function.include.php
PHP Web Developer
Joomla, jQuery, MySQL, CSS, etc...

Android APP Developer http://android-dev.tumblr.com/

Clavo Oxidado

Bueno, hay novedades!! Algo me sale pero no del todo, os explico, según el ejemplo de "merohack " me funciona, me muestra lo que contiene "test.php" aunque he tenido que modificar una parte del código de la siguiente forma:

Código (php) [Seleccionar]


<?php
function bloque_pagina_tres(){
  
$contenido '<div id="portada">';
  
$contenido .= include 'test.php';
  
$contenido .= '</div>';
return 
$contenido;
 }
?>



Aunque a mi antes con las etiquetas "<?php>" no me salia, sin la etiqueta si que me sale, de todas formas para que me saliera he tenido que poner la etiqueta  "<?php>" a cada una de las funciones.

Bueno pues lo dicho me sale el texto que contiene "test.php" a la posición del bloque donde quiero que vaya, así que al cambiar el nombre test.php por catalogo.php lógicamente debería de dar el mismo resultado, pues me sale el contenido pero no a la posición del bloque, vamos como me sucedía antes. En "catalogo.php" tiene otra hoja de estilo aparte, pues bien he tenido que quitar aquellas etiqueta de margin, paddign, width, etc.. excepto los colores y tamaño de letra, simplemente para que no se contradiga dos hojas de estilo con posiciones distinta. También he quitado después de la llave el "bloque_pagina_tres()" aunque lo quite o no me muestra el contenido de "test.php"

Bueno lo curioso que cuando me sale todo el contenido en la parte superior(cosa que no debería), se me añade un número "1" al bloque donde quiero que posicione.  Aunque si quito la concatenación del '</div>' el "1" desaparece....

¿Alguna Solución?

De todas formas seguiré probando.....

UN SALUDO
"Dame 10 Hackers y en media hora dominaré el mundo."

Clavo Oxidado

Bueno tras probar varias formas para que me lo posicione, no he obtenido ningún éxito.

Ahora lo estoy intentando sin el include, es decir lo que quiero hacer que dentro de la función conectarme directamente a la BBDD, la consulta me lo devuelve sin ningún problema, pero no me aplica el <div>, sigue apareciendo en la parte de la cabecera, como siempre ha estado sucediendo.

Así es como tengo implantado la sintaxis:

Código (php) [Seleccionar]

<?php
function bloque_pagina_tres(){
$conexion mysql_connect('localhost','usuario','secreto');
mysql_select_db('tiendaprueba');
$tabla mysql_query('SELECT * FROM productos');
while ($registro mysql_fetch_array($tabla)) 
{
$contenido='<div id="portada">';
echo $registro['nomprod'];
echo $registro['detalles'];
$contenido='</div>';
}
mysql_free_result($tabla);
mysql_close($conexion);
return $registro;
}
?>



¿Alguna solución u otra forma de implantar la sintaxis?

Un Saludo
"Dame 10 Hackers y en media hora dominaré el mundo."

merolhack

Hola, oye y no lo tienes en un servidor web? para ver el codigo que te genera?

Saludos!
PHP Web Developer
Joomla, jQuery, MySQL, CSS, etc...

Android APP Developer http://android-dev.tumblr.com/

Clavo Oxidado

#19
Aún no lo tengo alojado en un alojamiento ni tengo asignado el dominio, de todas formas el servidor lo tengo alojado desde mi casa.
Aquí os dejo el enlace: http://x.x.x.x/proyecto/proyecto_alcoholado/ a ver si lo antes posible lo alojo en otro dominio para no tener mi servidor las 24 horas desde mi casa XD.

Como podéis comprobar el enlace catálogo de productos el contenido aparece arriba, en vez en el centro.

UN SALUDO
"Dame 10 Hackers y en media hora dominaré el mundo."