Introducció
En aquest tema, explorarem com utilitzar REXX per a la programació web. Aprendrem a crear scripts que interactuen amb servidors web, a processar dades d'entrada d'usuaris i a generar contingut dinàmic. Aquest mòdul és especialment útil per a aquells que volen automatitzar tasques web o crear aplicacions web senzilles utilitzant REXX.
Continguts
Configuració de l'Entorn per a Programació Web
Abans de començar a programar, necessitem configurar l'entorn adequat per a la programació web amb REXX. Això inclou la instal·lació d'un servidor web que suporti scripts CGI.
Passos per Configurar l'Entorn
- Instal·lar un servidor web: Apache és una opció popular i fàcil de configurar.
- Habilitar CGI: Assegura't que el servidor web estigui configurat per executar scripts CGI.
- Configurar permisos: Els scripts CGI han de tenir els permisos adequats per ser executats pel servidor web.
Exemple de Configuració d'Apache per CGI
Creació d'un Script CGI amb REXX
Un script CGI (Common Gateway Interface) permet que el servidor web executi programes externs i generi contingut dinàmic.
Exemple de Script CGI en REXX
/* hello_world.rex */ say "Content-type: text/html" say "" say "<html>" say "<head><title>Hola Món en REXX</title></head>" say "<body>" say "<h1>Hola Món!</h1>" say "</body>" say "</html>"
Explicació del Codi
- Content-type: Indica al navegador el tipus de contingut que s'està enviant.
- HTML: El codi HTML que es genera dinàmicament per ser mostrat al navegador.
Processament de Dades d'Entrada
Els scripts CGI poden processar dades enviades pels usuaris a través de formularis HTML.
Exemple de Formulari HTML
<form action="/cgi-bin/process_form.rex" method="post"> Nom: <input type="text" name="nom"><br> Edat: <input type="text" name="edat"><br> <input type="submit" value="Enviar"> </form>
Exemple de Script CGI per Processar el Formulari
/* process_form.rex */ parse arg query_string call parse_query_string query_string say "Content-type: text/html" say "" say "<html>" say "<head><title>Resultat del Formulari</title></head>" say "<body>" say "<h1>Resultats</h1>" say "<p>Nom: " nom "</p>" say "<p>Edat: " edat "</p>" say "</body>" say "</html>" parse_query_string: procedure parse var query_string "nom=" nom "&edat=" edat return
Explicació del Codi
- parse arg: Obté la cadena de consulta enviada pel navegador.
- parse_query_string: Funció per desglossar la cadena de consulta en variables.
Generació de Contingut HTML Dinàmic
REXX pot generar contingut HTML dinàmic basat en les dades d'entrada o altres condicions.
Exemple de Generació Dinàmica
/* dynamic_content.rex */ say "Content-type: text/html" say "" say "<html>" say "<head><title>Contingut Dinàmic</title></head>" say "<body>" say "<h1>Contingut Generat Dinàmicament</h1>" do i = 1 to 5 say "<p>Línia " i "</p>" end say "</body>" say "</html>"
Explicació del Codi
- do i = 1 to 5: Genera cinc línies de contingut dinàmicament.
Exercicis Pràctics
- Crear un Formulari de Contacte: Crea un formulari HTML que demani el nom, el correu electrònic i el missatge de l'usuari. Escriu un script CGI en REXX per processar aquest formulari i mostrar els resultats.
- Generar una Taula Dinàmica: Escriu un script CGI que generi una taula HTML amb dades dinàmiques, com una llista de productes amb els seus preus.
Solucions
Exercici 1: Formulari de Contacte
<!-- contact_form.html --> <form action="/cgi-bin/contact_form.rex" method="post"> Nom: <input type="text" name="nom"><br> Correu Electrònic: <input type="text" name="email"><br> Missatge: <textarea name="missatge"></textarea><br> <input type="submit" value="Enviar"> </form>
/* contact_form.rex */ parse arg query_string call parse_query_string query_string say "Content-type: text/html" say "" say "<html>" say "<head><title>Resultat del Formulari de Contacte</title></head>" say "<body>" say "<h1>Resultats del Formulari de Contacte</h1>" say "<p>Nom: " nom "</p>" say "<p>Correu Electrònic: " email "</p>" say "<p>Missatge: " missatge "</p>" say "</body>" say "</html>" parse_query_string: procedure parse var query_string "nom=" nom "&email=" email "&missatge=" missatge return
Exercici 2: Generar una Taula Dinàmica
/* dynamic_table.rex */ say "Content-type: text/html" say "" say "<html>" say "<head><title>Taula Dinàmica</title></head>" say "<body>" say "<h1>Llista de Productes</h1>" say "<table border='1'>" say "<tr><th>Producte</th><th>Preu</th></tr>" products = "Producte1,Producte2,Producte3" prices = "10,20,30" parse var products p1 "," p2 "," p3 parse var prices pr1 "," pr2 "," pr3 do i = 1 to 3 say "<tr><td>" value("p"i) "</td><td>" value("pr"i) "</td></tr>" end say "</table>" say "</body>" say "</html>"
Conclusió
En aquest tema, hem après a configurar l'entorn per a la programació web amb REXX, a crear scripts CGI, a processar dades d'entrada i a generar contingut HTML dinàmic. Amb aquests coneixements, estàs preparat per començar a desenvolupar aplicacions web senzilles utilitzant REXX.
Resum
- Configuració de l'Entorn: Instal·lació i configuració d'un servidor web.
- Scripts CGI: Creació i execució de scripts CGI amb REXX.
- Processament de Dades: Manipulació de dades d'entrada d'usuaris.
- Contingut Dinàmic: Generació de contingut HTML basat en condicions dinàmiques.
Proper Tema
En el següent tema, explorarem com accedir a bases de dades amb REXX, una habilitat crucial per a la creació d'aplicacions més complexes i interactives.
Curs de Programació REXX
Mòdul 1: Introducció a REXX
- Què és REXX?
- Configuració de l'Entorn REXX
- Hola Món en REXX
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Conceptes Bàsics de Programació
- Operadors i Expressions
- Estructures de Control: IF/THEN/ELSE
- Bucles: DO i LEAVE
- Entrada i Sortida
- Manipulació Bàsica de Cadenes
Mòdul 3: Programació Intermèdia en REXX
- Funcions i Subrutines
- Funcions Incorporades
- Gestió d'Errors
- Operacions d'Entrada/Sortida de Fitxers
- Treballant amb Arrays
Mòdul 4: Programació Avançada en REXX
- Manipulació Avançada de Cadenes
- Tècniques de Parsing
- Interfície amb Programes Externs
- Macros REXX
- Optimització del Rendiment