Anda di halaman 1dari 3

En este ejercicio lo que hay que hacer es un CGI que inserte los datos que se le pasan como parametros

en la tabla de pedidos. Hay que tener en cuenta que las f unciones de captura de parmetros, escritura de cabecera HTML y escritura de cola HTML, ya se realizan en el esqueleto del CGI. Slo se tiene que realizar la conexin con la base de datos, insertar los datos en la tabla de pedidos, cerrar la cone xin y mostrar los mensajes necesarios, tanto como si hay un error, como si no lo hay, teniendo en cuenta que estamos en un CGI y, por lo tanto, tenemos que escri bir setencias HTML . El esqueleto del script es el siguiente: #!c:\perl\bin\perl.exe #Usamos las librerias de acceso a BD use DBI; my $base_datos="ce"; #Nombre de las base de datos my $tabla_pedidos="pedidos"; #Nombre de la tabla de pedidos my $usuario="root"; #Usuario de la BD my $clave="richal"; #Password de la BD my $driver="mysql"; #Utilizamos el driver de mysql my my my my my my $id; $num_factura; $nombre; $email; $direccion; $telefono; #Variable #Variable #Variable #Variable #Variable #Variable donde donde donde donde donde donde guardaremos guardaremos guardaremos guardaremos guardaremos guardaremos el la el el la el id del articulo pedido factura del pedido nombre del cliente email del cliente direccion del cliente telefono del cliente

#Cogemos los parametros que se le pasan al CGI ($num_factura, $id, $nombre, $ema il, $direccion, $telefono) coge_parametros(); #Creamos la sentencia SQL para insertar my $SQL_inserta="insert $tabla_pedidos values ($num_factura, $id, '$nombre', '$e mail', '$direccion', '$telefono');"; #Escribimos la cabecera de la pagina HTML print "Content-type: text/html\n\n"; escribe_inicio_html(); #Escrimos los parametros pasados (BORRAR) print ("\n<h3>Num_factura=$num_factura Id=$id Nombre=$nombre E-Mail=$email Dire ccion=$direccion Telefono=$telefono<h3><br>\n"); #Conectamos con la BD, miramos si hay algun error(HACER) #Insertamos los datos en la tabla, miramos si hay algun error(HACER) #Nos desconectamos de la BD. (HACER)

#Escribimos la cola de la pagina HTML escribe_final_html(); #Terminamos

exit; #-------------------------------------------------------------------#-------------------------------------------------------------------#----------------------------FUNCIONES------------------------------#-------------------------------------------------------------------#-------------------------------------------------------------------#En ests funcion cogemos los parametros que son necesarios para el #CGI. sub coge_parametros() { #Determinamos el tipo de metodo usado para pasar los argumentos $method=$ENV{"REQUEST_METHOD"}; if ($method eq "GET") { #Si el metodo es GET los argumentos vienen en $ENV{"QUERY_STYRNG "} $argumento=$ENV{"QUERY_STRING"}; } else { #Si el metodo es POST los argumentos vienen en la entrada estand ar $argumento=<STDIN>; } # Obtengo las variables foreach (split(/&/,$argumento)) { ($variable,$valor) = split(/=/, $_); $valor=~tr/+/ /; $valor=~s/%([0-9 A-F]{2})/pack(C,hex($1))/eg; $datos{$variable}=$valor; } $num_factura=$datos{NUM_FACTURA}; $id=$datos{ID}; $nombre=$datos{NOMBRE}; $email=$datos{EMAIL}; $direccion=$datos{DIRECCION}; $telefono=$datos{TELEFONO}; } #-------------------------------------------------------------------#En esta funcion escribimos el principio de la pagina HTML sub escribe_inicio_html() { print <<inicio_HTML; <html> <HEAD> <TITLE>Insercin de pedidos (CGI)</TITLE> </HEAD> <BODY bgcolor=#FFFFFF> <TABLE border=0 cellpadding=0 cellspacing=0 width=100%> <TD valign=middle width="100%" bgcolor="#008caa"> <font color="#DDDDDD" face="sans-serif"> <strong> <h1 align=center style='text-align:center'>INSERTAR PEDI DOS (CGI)</h1>

</strong> </TD> </TABLE> inicio_HTML } #-------------------------------------------------------------------#En esta funcion escribimos el fin de la pagina HTML sub escribe_final_html() { print <<fin_HTML; </BODY> </HTML> fin_HTML } #--------------------------------------------------------------------

El esqueleto del ejemplo anterior est aqu.

Anda mungkin juga menyukai