¡Ya estamos en Twitter!

Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad

Creando un foro en perl: Parte I

por monoswim

Introducción

Todos conocemos varios scripts de foros de discusión, por ejemplo el Yabb. Pero al implementar estos scripts pre-fabricados, se nos podría dificulta la realización de cambios que querramos hacerle.

Por ser scripts ya programados, generalmente tienen muchas opciones lo cual hace que el código fuente se nos sea complicado de entender.

Con esta serie de tutoriales sentaremos las bases para hacer un foro de discusión enteramente en PERL y sin la necesidad de ningún motor de base de datos (p.ej: MySQL,Oracle,etc) ya que los mensajes se almacenaran en archivos de texto .TXT De esta manera es muy fácil su implementación y administración por parte de cualquier programador que recién esté empezando a programar.

Flujo del script

Para entender bien como será el script vamos a mostrar como será la cabecera del script en donde tomamos los datos de rutina, loggeamos al usuario y evaluamos la variable ACTION que viene desde el navegador para saber que es lo que desea hacer el usuario.

#!c:/perl/bin/perl.exe

use strict;
require 'monodata.pl';

my $msdb_foros_url = 'msdb';
my $contador_url = 'contador';

# Definición de Variables
my $system = 'windows';
my %input_data = &input_data();
my %cookie_data = &get_cookie();
my $date = &get_date();
my @d_a_t_e = &get_d_a_t_e();
my %logger_data = &logger();
# Devuelve 3 valores
#$logger_data{'user_name'} = 'monoswim';
#$logger_data{'seguridad'} = 7;
#$logger_data{'fecha'} = '2004-09-03 11:12:20';

###### Opciones del Script
print "Content-type: text/html\n\n";

if ($input_data{'action'} eq 'temas_listar') {
    &temas_listar();
}elsif ($input_data{'action'} eq 'form_new_tema') {
   &form_new_tema();

} elsif ($input_data{'action'} eq 'save_new_tema') {
   &save_new_tema();

}
#######

elsif ($input_data{'action'} eq 'mensajes_listar') {
   &mensajes_listar();
} elsif ($input_data{'action'} eq 'form_new_msg') {
   &form_new_msg();
} elsif ($input_data{'action'} eq 'save_new_msg') {
   &save_new_msg();
}
#######

else {
 &foros_listar()
}

exit(1);
####### Fin Opciones del Script

Como verán hasta ahora viene todo muy fácil, temenos básicamente 7 funciones, mostrar, y agregar mensajes, las demás opciones las veremos más adelante...

Características del Foro.

Este script tiene bastantes opciones comúnes y que la mayoría de los foros de discusión importantes que andan dando vueltas por la web tiene, como son:

  • - Tiene un contador de visitas para cada post.
  • - Muestra quien hizo el último post y muestra el respectivo título, y su hora de realización.
  • - Muestra la cantidad de temas y mensajes que tiene cada uno de los foros.
  • - Muestra la cantidad de respuestas y visitas que tiene cada uno de los Post.
  • - Muestra quien hizo la última respuesta y su respectivo horario.
  • - Muestra en NEGRITA los temas que tienen mensajes nuevos, que el usuario todavía no ha leído.

Para que vean la funcionalidad del script a continuación les muestro algunas interfaces, las cuales están hechas en HTML básico sin estilos, para que ustedes se tomen el trabajo de diseñarlas a gusto.

Interfaces

Aquí les muestro un poco de la interface que tendría nuestro foro al terminarlo, recuerden que es sumamente básica esta interface y es sencilla para que ustedes la puedan modificar como mejor les convenga ya con estilos y todo.


Listado de Foros



ForoÚltimo mensajeTemasMensajes
administracionÚltimo mensaje: Holanda
Autor: monoswim
Fecha: 2004-09-03 11:12:20
3
7
paisajesUltimo mensaje: capo
Autor: Elpiedra
Fecha: 2004-09-03 11:12:20
1
2
turismoUltimo mensaje:
Autor:
Fecha:
0
0


Listado de Temas del foro: administracion

Tema / AutorUltimo mensajeRespuestasVisitas
Hola 2
Enviado por: Elpiedra el 2004-09-03 11:12:20
monoswim el día 2004-09-03 11:12:20 1 4
hola
Enviado por: monoswim el 2004-09-03 11:12:20
Elpiedra el día 2004-09-03 11:12:20 2 7
#1
Enviado por: kidd el 2004-09-03 11:12:20
Elpiedra el día 2004-09-03 11:12:20 1 5


Mensajes del Tema: 3

Autor: Elpiedra
Título: fer
Mensaje: sdfger
Fecha: 2004-09-03 11:12:20

Autor: monoswim
Título: lokiopo
Mensaje: hkjhkhj
Fecha: 2004-09-03 11:12:20

Notas Finales

Bueno, como verán, la idea es sentar las bases para que puedan agarrar este script, que estará gratuitamente en la sección de herramientas de Perl en Español, y modificarle todo lo que quieran, no solo la interface gráfica, sino también el código fuente, ya que conocerán a la perfección que hace cada una de las partes del código, explicado detalladamente en las siguientes partes de este tutorial.

Creando un foro de perl: Parte II

¿Quiéres más tutoriales como este? Escribir tutoriales toma una gran cantidad de tiempo y esfuerzo. Si este tutorial te ayudó a aprender o a solucionar algo, por favor considera dejar alguna donación en apoyo a Perl en Español.

Cliquea en el botón de abajo para dejar tu donación por medio de PayPal.

Comparte:
Categorías de Tutoriales:
En Nuestros Foros:

    Software error:

    junk after document element at line 1, column 32, byte 32 at /usr/lib64/perl5/vendor_perl/XML/Parser.pm line 187.
    

    For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error.

  • Entra a los foros »
Socializa:
Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Perl en Español es mantenido con Movable Type
Todo el contenido de Perl en Español está bajo una licencia CC:
Creative Commons License