• Publicidad

Primera vez, Perl y MySql

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Primera vez, Perl y MySql

Notapor zoso » 2007-08-15 22:20 @972

Hola a todos. Como se pueden dar cuenta soy nuevo en esta comunidad.

Bueno lo que quiero hacer es lo siguiente:

Crear una página web donde pueda ingresar una noticia y vaya quedando en una base de datos Mysql y después poder verla en otra web.

También poder editar, borrar, e ingresar nuevas noticias.

Bueno en mi PC ya instalé APACHE, MYSQL, ActivePerl.

Ya ojalá me den alguna respuesta. En todo caso iré llenando este tema con los logros y fracasos de esta interesante aventura que estoy emprendiendo.

GRACIAS :lol:
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Publicidad

Notapor zoso » 2007-08-15 23:22 @015

Bueno ya empecé, pero me estaría faltando lo mas peludo y difícil, la base de datos y el script para guardarlo. Bueno, acá va lo que tengo, vendría siendo como la página de ingreso de noticias, o sea el ingreso.html, jejejeje ojalá esté bien.

Sintáxis: [ Descargar ] [ Ocultar ]
  1. <html> 
  2. <head> 
  3. <title></title> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
  5. </head> 
  6.  
  7. <body> 
  8. <table width="100%" border="0" cellspacing="0" cellpadding="5"> 
  9. <tr>  
  10. <td><table width="100%" height="150" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> 
  11. <tr>  
  12. <td width="65%"><div align="center"><font color="#000000" size="5" face="Arial, Helvetica, sans-serif">INGRESE NOTICIA <strong>  
  13. </strong></font></div></td><td width="35%" bgcolor=""><table width="253" height="137" border="1"> 
  14. <tr> 
  15. <th scope="row"><a href="ingreso.html">Ingrese Noticias </a> </th> 
  16. </tr> 
  17. <tr> 
  18. <th scope="row"><a href="modifica.html">Modifique Noticias </a></th> 
  19. </tr> 
  20. <tr> 
  21. <th scope="row"><a href="elimina.html">Elimine Noticias </a></th> 
  22. </tr> 
  23. </table>  
  24. </td> 
  25. </tr> 
  26. </table></td> 
  27. </tr> 
  28. </table> 
  29. <form action="http://localhost/cgi-bin/SCRIPT_QUE_GUARDA_NOTICIA_EN_BASE_DE_DATOS.pl" method="post" name="formulario" id="formulario"> 
  30. <p>Nombre:<br> 
  31. <input name="autor" type="text" id="autor"> 
  32. </p> 
  33. <p>Mensaje:<br> 
  34. <textarea name="mensaje" cols="40" rows="3" id="mensaje"></textarea> 
  35. </p> 
  36. <p> 
  37. <input type="submit" name="Submit" value="Enviar Mensaje"> 
  38. </p> 
  39. </form> 
  40. <p>&nbsp;</p> 
  41. </body> 
  42. </html> 


Bueno donde dice:
Código: Seleccionar todo
Ingrese Noticias
Modifique Noticias
Elimine Noticias
cada una debe redireccionar a la página de ingreso, modificación y eliminación, o sea ingreso.html , modifica.html, elimina.html, respectivamente.

AHORA a tratar de hacer el script para que guarde la noticia. mmm creo que esa sí estará complicada. Esa hay que ponerla donde dice SCRIPT_QUE_GUARDA_NOTICIA_EN_BASE_DE_DATOS.pl mmjjejje

Ya ojalá me ayuden y me digan que más me puede faltar.

Disculpen si soy muy novato pero quiero aprender. Gracias.

:lol:
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Notapor explorer » 2007-08-16 01:12 @092

Bienvenido a los foros de Perl en Español, zoso.

Yo es que empezaría por algo más sencillo... has elegido algo realmente complicado. Muy complicado.

Mira otras personas que empiezan:
viewtopic.php?t=1780
viewtopic.php?t=1891

El primer sitio a mirar es el enlace Tutoriales, en la parte superior de esta página.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor zoso » 2007-08-16 01:25 @101

Ok, gracias creo que me estaba adelantando un poco, estaba un poco embalado, jejejeje, en todo caso, a medida que vaya aprendiendo iré colocando cosillas en este tema si es que se puede, jejeje,

Siguiendo con el tema, me encontré un script por ahí pero no casó porque no me guarda la noticia mmm, creo que seguiré estudiando.

Pondré el código del script para que lo vean.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!C:\perl\bin\perl.exe -w

use strict;

print "Content-type: text/html\n\n";

open (DATABASE, ">>../../noticias.html") || print "No se puede abrir";
     flock(DATABASE,2);
     print DATABASE "<p>Esta es la linea que se agregara <b>archivo con formato HTML</b> </p>\n";
close (DATABASE) || print "Error al cerrar el archivo";

print "Se Agrego Correctamente (sera cierto?????)";
exit(1);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Bueno lo que tiene que hacer es que al rellenar los recuadros en la página me los guarde y los muestre en la página noticias, perooo no lo muestra.

El script parece funcionar porque al apretar ENVIAR MENSAJE me genera lo que le había puesto al script que era SE AGREGÓ CORRECTAMENTE (¿será cierto?), bueno.

Graciasss...
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Notapor zoso » 2007-08-16 01:39 @110

Bueno, la página para ingresar una noticia se ve más o menos así:

Imagen

Bueno, una vez que aprieto enviar mensaje sale:

Imagen
Pero después reviso la página noticias y no hay nada mmmm snif

¡Qué pasará!
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Notapor kidd » 2007-08-16 08:19 @388

Hola,

Bienvenidos a los foros. Me parece que no se despliega la noticia porque solamente tienes una función para almacenarla, pero ninguna para desplegarla.

Yo te recomiendo que empieces con una miradita a los tutoriales que hay aquí en el sitio:
http://perlenespanol.com/tutoriales/

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor zoso » 2007-08-16 13:47 @616

Bueno Gracias a todos por querer ayudarme, la verdad es que he estado muy atento a sus respuestas.

Bueno buscando leyendo y quemando pestañas he encontrado varias cositas, que con un poco de perseverancia y saber dónde van un poco las cosas he logrado poner noticias.

Bueno tengo dos páginas, una index.html (es la de ingreso de noticias) y una de noticias.html (muestra las noticias ingresadas).

El código de la página index.html es el mismo que mostré arriba y la otra página noticias.html la deje en blanco jejeje ahé se irían guardando las noticias, bueno tan en blanco no la deje porque puse un link para volver a la página index.html :D ,

ah, el código del script es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!C:\perl\bin\perl.exe -w

use strict;

#cargamos la información de entrada en la variable hash "inputs"
my %inputs = &input_data();
my $fecha = &get_fecha();

print "Content-type: text/html\n\n";

open (DATABASE, ">>../../noticias.html") || print "No se puede abrir el archivo";
     flock(DATABASE,2);
     print DATABASE "<p><b>$inputs{'autor'} :</b><br> $inputs{'mensaje'}<br><i>$fecha</i></p>\n";
close (DATABASE) || print "Error al cerrar el archivo";

#Imprimimos el mensaje de todo OK
print "Mensaje guardado correctamente";

# función que realiza la carga de información del formulario...
sub input_data {

   my (@pairs,$buffer,%input_data);

        if ($ENV{'REQUEST_METHOD'} eq 'GET') {

                @pairs = split(/&/, $ENV{'QUERY_STRING'});

        }elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {

                read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
                @pairs = split(/&/, $buffer);

        }else {

                &error('leer','datos');

        }

        foreach my $pair (@pairs) {
                my ($name, $value) = split(/=/, $pair);

                $name =~ tr/+/ /;
                $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
                $name =~ tr/\0//d;

                $value =~ tr/+/ /;
                $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
                $value =~ tr/\0//d;
                $value =~ s/\n//g;

                $input_data{$name} = $value;
        }
        return(%input_data);
}

sub get_fecha {
   my ($sec,$min,$hora,$mdia,$mon,$ano,$wdia,$ydia,$isdst,@meses,@dias,$fecha);
   ($sec,$min,$hora,$mdia,$mon,$ano,$wdia,$ydia,$isdst) = localtime (time);
   @meses = ('Enero','Febrero','Marzo','Abril','Mayo','Junio',  'Julio','Agosto','Septiembre','Octubre','Noviembre  

'
,'Diciembre');
   @dias = ('Domingo','Lunes','Martes','Miercoles','Jueves','  Viernes','Sabado');

   $ano += 1900;
   $fecha = "$dias[$wdia], $mdia de $meses[$mon] de $ano";

return $fecha;
}

exit(1);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Bueno, ahí está jeje, gracias a los manuales que por ahí e ido viendo he podido recopilar estas cosillas; lo último es para que pegue la fecha al final de la noticia.

Bueno, ahora a tratar de averiguar cómo logro editar alguna noticia y eliminar por supuesto... :?
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Notapor Kiloko » 2007-08-16 18:49 @825

Creo yo que deberías checar los tutoriales, antes de aventarte a hacer algo así, está algo complicado... y más si vas a usar html, Perl, ¿no has considerado utilizar herramientas automáticas de servicios que contratas? En algunos casos tu pagas X cantidad por tu dominio y te dan una base de datos y demás y ellos mismos te dan aplicaciones para que vayas subiendo tus noticias y demás, creo yo es una buena opción si apenas vas empezando en esto. Ejemplo: www.suempresa.com. Saludos...
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor zoso » 2007-08-16 23:40 @028

Bueno. Gracias por tu comentario, pero lo que pasa es que no tengo ningún servicio, solo mi tarro que me esta acompañando en esta aventura jejeje, mira, es entretenido y me ha costado unas cuantas madrugadas, jejeje. Bueno hasta las 3 de la mañana porque ya me esta doliendo la garganta, creo que me estoy resfriando.

Bueno, como no tengo ningún servicio de los que nombras tu no me queda más que hacerlo yo, por eso es que pregunto por todo, ojala pueda aprender.

Quizás esto de la noticias fue un poco osado de mi parte, es que se me ocurrió no más, pero no sé, creo que cada vez me voy acercando ¿o no?

He tenido varios problemas que he ido solucionando. Ojalá de buena forma, jejeje.

Ya por lo menos puedo mostrar y agregar noticias de forma no muy bonita pero eso lo arreglaré después.

Ahora quiero saber cómo hacer que las noticias vayan quedando arriba y no abajo como me está sucediendo.
zoso
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2007-08-15 22:00 @958

Notapor explorer » 2007-08-17 06:16 @302

Zoso tiene dos opciones, según Kiloko. O pagar o aprender.

Yo prefiero que aprendas.

Siempre podrás cobrar luego por lo que hayas aprendido...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados

cron