Foros del Web » Programando para Internet » PHP »

Un consejo rapido por favor!!

Estas en el tema de Un consejo rapido por favor!! en el foro de PHP en Foros del Web. Hola a todos, vereis, estoy haciendo una web, y a pesar de que en php soy capaz de hacer bastantes funciones y cosillas, no se ...
  #1 (permalink)  
Antiguo 24/03/2011, 12:53
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Un consejo rapido por favor!!

Hola a todos, vereis, estoy haciendo una web, y a pesar de que en php soy capaz de hacer bastantes funciones y cosillas, no se muy bien la manera correcta de utilizarlo. Me gustaría poder hacer las cosas como (mas o menos) lo haría un profesional y que se quedara decente... vamos que a veces hago cosas que funcionan pero no se si son una chapuza para salir del paso....

Estoy creando una web que va a estar operativa, y quiero que quede perfecta!
Quiero poner la cabecera, el pie y el menú independientes y luego unirlos con un include(). Las funciones cabecera(), menu(), y pie() los tengo en un archivo llamado funciones.php

Y queda tal que así:

Código PHP:
function cabecera($titulo_pagina) 
{
    print "<?xml version="1.0\" encoding=\"iso-8859-1\"?".">
<!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\">
<head>
  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
  <title>direccion de la web - $titulo_pagina</title>
  <link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>\n\n"
;
   
 
        print 
"<body>\n";
    }
    print 
"<h1>Blog - $titulo_pagina</h1>
<div id=\"menu\">
<ul>
  <li><a href=\"editar.php?fecha=$fecha\">Editar</a></li>
  <li><a href=\"leer.php?fecha=$fecha\">Leer</a></li>
  <li><a href=\"borrartodo1.php\">Borrar todo</a></li>
</ul>\n</div>\n\n<div id=\"contenido\">\n"
;
}

function 
pie() 
{
    print 
'</div>

<div id="pie">
<address>
  .....Esto es el pie footer......
</address>

</div>
</body>
</html>'
;
}
Falta el menú, porque lo estoy retocando y ahora tengo el código peor que estos ejemplos que he puesto!!

Luego en el index.php:

Código PHP:

<?php

 
include('funciones.php');

cabecera('Inicio');

print 
"<p>Bienvenido a mi página.</p>";

pie();
?>
¿Es adecuado hacerlo así, o mejor me dejo de funciones y creo los archivos, cabecera.php y pie.php y le hago una inclusión al index.php?

¿Es correcto poner la hoja de estilos y los metas en "cabecera()"?

Espero que alguien me pueda orientar, muchas gracias por vuestro tiempo y un saludo.
  #2 (permalink)  
Antiguo 24/03/2011, 12:59
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Un consejo rapido por favor!!

amigo sos despelotado enserio he!!!
es un chiste....

te combiene (si queres) hacer un archivo para cada seccion
cabecera.php
pie.php
menu.php
principal.php (aca pueden ir otros include segun lo seleccionaste con el menu)
y en index incluirlos a todos.

todos los html deben escapar a php, si no es muy dificil mantener ese codigo inecesario y podrido (perdon pero es muy malo).

y trata
  #3 (permalink)  
Antiguo 24/03/2011, 13:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: Un consejo rapido por favor!!

Ok, entonces es mejor que cada cosa vaya por separado e ir haciendo includes... lo capto... jejeje lo de que todos los html deben escapar a php (y perdona mi ignorancia) supongo que será que no mezcle el código.. las funciones php por un lado y el html por otro....

Sé que he abierto un tema para una tontería pero es que quiero hacer las cosas bien desde el principo y no tengo una buena base de php como para crear un buen código.

Un saludo y gracias!
  #4 (permalink)  
Antiguo 24/03/2011, 13:08
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: Un consejo rapido por favor!!

Hay que hacer las cosas bien desde un principio, te recomiendo que no hagas esa mezcla de código PHP y HTML, separa bien las cosas dinamicas de las que son "semi-staticas"

Crea un archivo llamado

cabecera.php

Código PHP:
<?php
//variables
$charset 'iso-8859-1';
$css 'estilos.css';
?>
<!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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset?> /> 
<title><?php echo $direccion_web?> - <?php echo $titulo_pagina?></title> 
<link href="<?php echo $css?>" rel="stylesheet" type="text/css" /> 
</head>
<body>
<h1>Blog - <?php echo $titulo_pagina?></h1>
<div id="menu"> 
<ul> 
  <li><a href="editar.php?fecha=<?php echo $fecha ;?>">Editar</a></li> 
  <li><a href="leer.php?fecha=<?php echo $fecha ;?>">Leer</a></li> 
  <li><a href="borrartodo1.php">Borrar todo</a></li> 
</ul>
</div>
<div id="contenido">
Y solo en la pagina que lo vas a utilizar haces algo como..

Código PHP:
<?php 
require_once 'cabecera.php';
?>
<p>Esto es mi contenido</p>
<div>
<?php echo $variablesPHP?>
</div>
<?php
require_once 'pie.php';
?>
así ya no tienes que estar escapando comillas, y tu HTML funciona para poder modificarlo sin tener que verlo parseado por PHP ya que solo agregas PHP donde es necesario.
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador

Última edición por _ssx; 24/03/2011 a las 13:11 Razón: Exp
  #5 (permalink)  
Antiguo 24/03/2011, 13:22
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Un consejo rapido por favor!!

Lo mejor es que abras y cierres codigo php cada vez que lo necesites:

Código PHP:
...

<?php echo $una_variable?>

<div>
    Contenido estático <?php echo $otra_variable?>
</div>

<?php echo $otra_variable_mas?>

...
Por que sino, vas a estar cada 2 por 3 con problemas de parseado, como bien te han indicado. Lo se por experiencia, por que al principio yo también lo hacía como tú :)

Sobre los includes, lo mejor es tener la página dividida, como minimo para header, contenido y footer, aunque hasta donde me llega mis pocos conocimientos, no hay que abusar de ellos. Saludos

Etiquetas: consejo, favor, rapido
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 00:15.