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

  1. Instal·lar un servidor web: Apache és una opció popular i fàcil de configurar.
  2. Habilitar CGI: Assegura't que el servidor web estigui configurat per executar scripts CGI.
  3. Configurar permisos: Els scripts CGI han de tenir els permisos adequats per ser executats pel servidor web.

Exemple de Configuració d'Apache per CGI

<Directory "/var/www/cgi-bin">
    Options +ExecCGI
    AddHandler cgi-script .cgi .rex
</Directory>

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

  1. 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.
  2. 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.

© Copyright 2024. Tots els drets reservats