Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2009, 18:58
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 11 meses
Puntos: 2237
Respuesta: [Aporte] Webs modulares

modulos/home.php
Código php:
Ver original
  1. <?php
  2. if(!defined('CONSTANTE')) {
  3.     header('HTTP/1.0 403 Forbidden');
  4.     die('No tienes permisos para ver el contenido del directorio o abrir este archivo.');
  5. }
  6.  
  7. // Cambiamos algunas etiquetas si es necesario
  8. $html->tags['script'] = '<!-- Aquí el código para cargar algun javascript -->';
  9. $html->tags['subtitulo'] = '<h2>Bienvenidos a esta web de ejemplo</h2>';
  10.  
  11. // Procesamos todas las etiquetas
  12. $html->parseAll();
  13.  
  14. // Enviamos el encabezado de la página
  15. echo $html->header();
  16.  
  17. // Desplegamos el contenido de la página.
  18. ?>
  19.  
  20. <p>Este es un ejemplo para crear webs modulares, tomando los parámetros por URL (método GET) y usamos el
  21. <strong><a href="http://www.forosdelweb.com/f18/aporte-mini-sistema-plantillas-677462/">mini sistema de plantillas</a></strong>
  22. que publiqué en Foros del Web.</p>
  23.  
  24. <p><strong>Nota:</strong> Todos los archivos necesarios para probar este ejemplo están disponibles para descarga en un único archivo
  25. comprimido: <strong><a href="http://www.e-azteca.com/web-modular.rar">web-modular.rar</a></strong></p>
  26.  
  27. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sodales, purus sit amet laoreet placerat, arcu magna fringilla turpis,
  28. malesuada tincidunt neque massa nec lectus. Sed nec dui. Praesent libero. Vivamus justo. Quisque tincidunt est a eros. Duis ipsum.
  29. Morbi cursus. Fusce turpis. Phasellus auctor lacus. Nulla ante. Nulla laoreet urna et nibh. Donec eget lacus. Quisque congue urna.
  30. In diam neque, feugiat ut, hendrerit id, sagittis et, eros. Nam laoreet risus sed nisi.</p>
  31.  
  32. <?php
  33. // Enviamos el pie de página
  34. echo $html->footer();
  35. ?>


modulos/contacto.php
Código php:
Ver original
  1. <?php
  2. if(!defined('CONSTANTE')) {
  3.     header('HTTP/1.0 403 Forbidden');
  4.     die('No tienes permisos para ver el contenido del directorio o abrir este archivo.');
  5. }
  6.  
  7. $errores = array();
  8.  
  9. if(isset($_POST['enviado'])) {
  10.     $nombre = trim($_POST['nombre']);
  11.     $email = trim($_POST['email']);
  12.     $comentarios = trim($_POST['comentarios']);
  13.     if(strlen($nombre) < 5 || strlen($nombre) > 30)
  14.         $errores['nombre'] = 'Teclea tu nombre usando entre 5 y 30 caracteres.';
  15.     if(!email_valido($email))
  16.         $errores['email'] = 'Teclea una dirección válida de correo electrónico.';
  17.     if(strlen($comentarios) < 50 || strlen($comentarios) > 500)
  18.         $errores['comentarios'] = 'Teclea tus comentarios usando entre 50 y 500 caracteres.';
  19.     if(count($errores) == 0) {
  20.         // Aqui es donde se pondria el codigo para enviar el mensaje por email
  21.         // Hasta aquí todavía podemos redireccionar, porque no ha habido salida HTML
  22.         //    pero seguiremos aquí mismo para no agregar otro archivo más
  23.  
  24.         // Cambiamos algunas etiquetas si es necesario
  25.         $html->tags['subtitulo'] = '<h2>Mensaje enviado</h2>';
  26.  
  27.         // Procesamos todas las etiquetas
  28.         $html->parseAll();
  29.  
  30.         // Enviamos el encabezado de la página
  31.         echo $html->header();
  32.  
  33.         echo '<p>Tu mensaje fue enviado correctamente. Gracias.</p>';
  34.  
  35.         // Enviamos el pie de página
  36.         echo $html->footer();
  37.         return; // Tambien se puede usar exit; para finalizar la ejecución
  38.     }
  39. }
  40.  
  41.  
  42. // Cambiamos algunas etiquetas si es necesario
  43. $html->tags['subtitulo'] = '<h2>Formulario de contacto</h2>';
  44.  
  45. // Procesamos todas las etiquetas
  46. $html->parseAll();
  47.  
  48. // Enviamos el encabezado de la página
  49. echo $html->header();
  50.  
  51. // Desplegamos el contenido de la página.
  52. ?>
  53.     <p>Aquí ponemos un texto para invitar a los usuarios a que nos envíen sus comentarios, dudas o sugerencias.</p>
  54.     <form method="post" action="index.php?mod=cnt">
  55.     <fieldset>
  56.         <legend>Formulario de contacto</legend>
  57.         <input type="hidden" name="enviado" value="1" />
  58.         <label for="nombre">Nombre:</label>
  59.         <div><input type="text" name="nombre" id="nombre" value="" size="30" /></div>
  60.         <?php ver_error('nombre'); ?>
  61.  
  62.         <label for="email">Correo electrónico:</label>
  63.         <div><input type="text" name="email" id="email" value="" size="30" /></div>
  64.         <?php ver_error('email'); ?>
  65.  
  66.         <label for="comentarios">Comentarios:</label>
  67.         <div><textarea name="comentarios" id="comentarios" rows="10" cols="50"></textarea></div>
  68.         <?php ver_error('comentarios'); ?>
  69.  
  70.         <div class="margen-izq"><input type="submit" value="Enviar" /></div>
  71.     </fieldset>
  72.     </form>
  73.  
  74. <?php
  75. // Enviamos el pie de página
  76. echo $html->footer();
  77.  
  78. function ver_error($campo) {
  79.     global $errores;
  80.     if(isset($errores[$campo]))
  81.         echo "<div class=\"frm-error\"><strong>Error:</strong> {$errores[$campo]}</div>\n";
  82. }
  83.  
  84. function email_valido($email) {
  85.     return preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email);
  86. }
  87. ?>

Archivos que omití por ser obvios, estar dentro del archivo comprimido y/o en el tema de plantillas:
- template.class.php
- modulos/empresa.php
- plantilla/index.tpl
- plantilla/plantilla.css
__________________
- León, Guanajuato
- GV-Foto