El Lenguaje C en CGI El ANSI C, uno de los lenguajes de programación más conocidos, utiliza la función getenv(),definida en el archivo de cabecera stdlib.h,

Slides:



Advertisements
Presentaciones similares
PROGRAMACIÓN EN C.
Advertisements

LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Abstracción de Datos Arrays.
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Fundamentos de la Programación Estructurada
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
MANEJO DE ARRAYS EN C.
INFORMATICA I Arreglos 1 CLASE 17.
Teoría de lenguajes y compiladores
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Tema 3 Entrada y Salida.
TRADUCTOR DE UN PROGRAMA
FORMULARIOS HTML TIPOS DE ELEMENTOS DE FORMULARIO n Campos de entrada de datos. n Campos de datos de varias líneas. n Listas. n Botones. n Textos descriptivos.
Ingeniero Anyelo Quintero
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Formas de que PHP escriba dentro de HTML Programación en Internet II.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
COMPUTACIÓN APLICADA FACULTAD DE INGENIERÍA, UAQ Tablas Dinámicas, Macros Ma. Teresa García Ramírez.
Estructura de un programa en C
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Informática Ingeniería en Electrónica y Automática Industrial
PHP TODO SOBRE PHP.
Correo electrónico Internet
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Archivos Programación I MC Beatriz Beltrán Martínez.
PHP-MYSQL Introducción Prof. Juan Carlos Lima Cruz Colegio IPTCE.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Programación en C para electrónicos
introducción al lenguaje
Elementos básicos del lenguaje
APUNTADORES.
Ihr Logo PHP Parte 4 “manejo de formularios”. Your Logo Formularios  El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
Tipos de datos en Perl Arreglos
FUNDAMENTOS DE PROGRAMACIÓN
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Términos algoritmo diseñar algoritmo implementar algoritmo
COLEGIO DE BACHILLERES “XOCHIMILCO TEPEPAN” Nº13  Tecnologías de la Información y comunicación 3.  Profa. Gabriela Pichardo Lazardo EQUIPO 25  Emmanuel.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
File Transfer Protocol.
Teoría de lenguajes y compiladores
PRINCIPIOS DE PROGRAMACIÓN
Presente un cuestionario con los aspectos mas importantes sobre los
Declaraciones. 1 Nombres de identificadores Identificador: – Nombres usados para referirse a las variables, identificar funciones o etiquetas definidos.
Tema 11 Bases de Datos y el Lenguaje SQL
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Práctica Profesional PHP.
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
Manual PHP Básico Camilo Cartagena.
Lenguaje de programación c
MIA - Grupo 5 Unidad 2.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Lenguaje de Programación II PLAN DE EVALUACIÓN CONTENIDO MODALIDAD DE EVAL. PONDERACIÓN INTRODUCCIÓN BÁSICA AL LENGUAJE DE PROGRAMACIÓN.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

El Lenguaje C en CGI El ANSI C, uno de los lenguajes de programación más conocidos, utiliza la función getenv(),definida en el archivo de cabecera stdlib.h, para recoger una variable de entorno. El prototipo de la función es: char *getenv(char *nombre_variable); La función getenv() recibe el nombre de una variable de entorno, y devuelve una cadena (char *) correspondiente al valor almacenado en dicha variable. Ilustremos esta función almacenando en la variable nombre_navegador el contenido de la variable de entorno HTTP_USER_AGENT.

El lenguaje C en CGI II void main(void){ char *nombre_navegador; nombre_navegador=getenv(“HTTP_USER_AGENT”); ..... .... } Las líneas punteadas sugieren que en lo que respecta del programa se debe utilizar la variable nombre_navegador.

El lenguaje PERL en CGI Una alternativa al uso del ANSI C, es el lenguaje PERL; este lenguaje es ideal para la creación de aplicaciones CGI debido a su poderoso manejo de cadenas, y a que tiene todos los elementos propios de un lenguaje estándar de programación. En PERL se define una matriz (%ENV) en la que se almacenan todas las variables de entorno. La instrucción que permite capturar el contenido de entorno HTTP_USER_AGENT es la siguiente: $ENV{‘HTTP_USER_AGENT’};

Codificación de los Datos Recordemos que el método POST permite enviar los datos de los campos del formulario como parte del mensaje, utilizando el canal estándar de entrada. El método GET por el contrario, almacena la respuesta dentro de la variable de entorno QUERY_STRING. Sin importar si se utiliza el método POST o el método GET, los datos del formulario se codifican de acuerdo a un estándar denominado URLencoding. En este sistema de codificación se siguen las siguientes reglas: El nombre de la variable y su valor asociado se separan mediante el signo (=). Las parejas de datos están separadas mediante el símbolo de ampersand (&).

Codificación de los Datos Los espacios en blanco se sustituyen por el símbolo suma (+). Los restantes caracteres alfanuméricos no sufren ninguna variación. Sin embargo, los caracteres no alfanuméricos, como el tabulador, los símbolos de puntuación, etc. Se codifican así: se sustituye el carácter alfanumerico por el simbolo del tanto porciento (%)., y a continuación se agrega el código ASCII equivalente en base hexadecimal. Un ejemplo simple: apellido=Antonio+P%E9rez&empresa=ACCION+LTDA&correo=empid@diansa.com.co

Codificación de los Datos Observaciones sobre el ejemplo. En primer lugar el formulario contiene tres elementos que han sido rellenados por el usuario del navegador: apellidos, empresa y correo. Estos elementos pueden corresponder a cuadros de texto para recibir los datos digitados en la página del navegador. Al frente de cada variable (campo), separado con el símbolo igual (=), se encuentra el correspondiente contenido. Como puede observarse cada uno de estos datos requiere la utilización de símbolos especiales. Las variables, incluyendo su contenido, están separadas mediante el símbolo &.

Algunos códigos ASCII equivalentes

Capturando los datos La primera acción del guión CGI es capturar los datos enviados por el navegador. Si el método utilizado para la captura de los datos es GET, entonces los datos se encuentran en QUERY_STRING #include<stdio.h> #include<stdlib..h> #include<malloc..h> void main(void){ char *cadena; // guarda la variable de entorno cadena=(char*)malloc(sizeof(char)1000); //reserva cadena=getenv(“QUERY_STRING”); }

Programas utilizados para procesar formularios Para empezar, vamos a escribir un programa que recoja los datos directamente del canal estándar de entrada, asumiendo que se ha utilizado el método POST. Los datos son almacenados en la variable info, con capacidad de hasta 1000 caracteres

Programa 1 #include<stdio.h> void main(void){ int i; char *info; const char *cadena; double longitud; info=(char*)malloc(sizeof(char)1000); cadena=getenv(“CONTENT_LENGTH”); longitud=strtod(cadena,NULL); for(i=0;i<longitud;i++) { fscanf(stdin,”%c”,&info[i]); } info[longitud]=“\0”;

PERL Perl es un lenguaje interpretado. Esta característica implica que su velocidad es menor que la que brinda un lenguaje compilado, pero se compensa esta ventaja al ofrecer algunas características entre las que se incluye un hábil manejo de información de tipo textual, y facilidades para la construcción de sistemas complejos como servidores FTP o servidores de correo electrónico.

PERL Perl fue desarrollado por Larry Wall para el sistema operativo UNIX. El nombre Perl es un acrónimo de Lenguaje Práctico para Extracción y Reportes (Practical Extractionand Report languaje), y como su nombre sugiere, su principal campo de actividad se encuentra en el procesamiento de texto y en el tratamiento de formularios contenidos en las páginas Web.

PERL Algunas de las ventajas del uso del lenguaje PERL son las siguientes: Construcción de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, ... Se puede utilizar en varios entornos, como puede ser Windows 95, OS/2, ..., sin realizar cambios de código, siendo únicamente necesario la introducción del interprete PERL correspondiente a cada sistema operativo. El mantenimiento y depuración de un programa en PERL es mucho más sencillo que la de cualquier programa en C.

Ejecuciones de guiones PERL Comenzaremos presentando un instrucción en lenguaje Perl: print “hola, mundo” Para el desarrollo completo de un guion CGI es necesario crear un archivo que contenga el programa con una extensión válida como por ejemplo hola.pl El programa se ejecuta con la orden Perl hola.pl

Ejecuciones de guiones PERL Si utilizamos UNIX o LINUX, podemos ejecutar el programa de la siguiente manera: % perl hola.pl Otra forma de ejecutar el programa añadir en la primera línea de hola lo siguiente:  #! /usr/bin/perl “Los caracteres #! sirven para denotar que lo que viene a continuación hace referencia a un interprete de comandos. “ y ejecutamos el programa de la siguiente manera: % hola.pl

Ejecuciones de guiones PERL Naturalmente las ordenes van a depender del sistema operativo. Si este es UNIX o LINUX debemos darle permiso de ejecución. Esto se realiza de la siguiente manera: chmod u+x hola.pl El Perl scripts en UNIX quedaría #! /usr/bin/perl print "HOLA MUNDO\n";

Elementos del Lenguaje símbolos Las líneas de comentarios comienzan con el símbolo #. Las instrucciones terminan con el símbolo; La primera línea de un programa escrito en Perl se debe iniciar con un comentario especial que identifica la ubicación del interprete Perl; por ejemplo: #!/usr/local/bin/perl

Tipos de datos en Perl En Perl no se requiere que las variables sean declaradas antes de usarlas, e incluso el tipo de las mismas puede cambiar a lo largo de la ejecución del guión que las contiene. En general, vamos a emplear tres tipos básicos: escalares, arreglos y arreglos asociativos. Escalares Estos datos se corresponden con caracteres, números y cadenas. Se reconocen porque comienzan con el carácter $ (por ejemplo, $código). Los datos de tipo escalar son lo más utilizados en la programación Perl. Para almacenar números $numeros = 10; # esta variable contiene el valor numérico 10 Para almacenar caracteres $palabra = 'perros';

Tipos de datos en Perl Escalares Para almacenar números $numeros = 10; # esta variable contiene el valor numérico 10 Para almacenar caracteres $apellido = ‘gutierrez'; Para almacenar caracteres especiales, se utiliza “ “  $apellido = " gutierrez \n"; También es posible almacenar varias variables al mismo tiempo. ($nombre,$apellido1,$apellido2) = (“claudio”,“gutierrez",“soto");

Tipos de datos en Perl Arreglos Este tipo corresponde a lista de caracteres, listas de números o lista de cadenas. En particular Perl admite que las listas contengan mezclas de caracteres, números y cadenas. Un arreglo se reconoce porque el identificador que lo maneja empieza con el símbolo @ (por ejemplo, @salarios). Los elementos individuales son referenciados mediante un subíndice, como por ejemplo: @salarios[n]. Los arreglos empiezan con el componente cero (por ejemplo, @salarios[0]).

Tipos de datos en Perl Arreglos También es posible definir los arreglos de la siguiente manera: @Alumnos = (“Luis",“Jacqueline",“Claudia” ); Es posible obtener el numero de elementos que conforman el arreglo de los escalares. Esto es posible utilizando los símbolos $#. Sin embargo este nos devuelve el numero de elementos menos 1. $numero_alumnos = $#Alumnos+1;

Tipos de datos en Perl Arreglos También podemos acceder a varios elementos de un array de la forma @nom_variable[indice1,...,indicen], por ejemplo: print @Alumnos[0,1]; imprimirá el primer y segundo elemento del array @Alumnos. Otra forma de acceder a los elementos de un array es usando el operador rango .. , si quisiéramos imprimir todos los valores desde un índice i hasta un indice j deberíamos utilizar el siguiente formato @nom_variable[i..j], por ejemplo: print  @Alumnos[0..2];

Tipos de datos en Perl Arreglos Asociativos Los arreglos asociativos se indexan mediante cadenas. Cada uno de los elementos del arreglo asociativo maneja la combinación elemento/valor, por ejemplo, %mes=(‘enero’,31, ‘febrero’,28); Los arreglos asociativos se reconocen porque comienzan con el símbolo % ( por ejemplo, %mes). Se tiene acceso a los elementos individuales utilizando cadenas especificas encerradas entre llaves y con el uso del símbolo @