|
| |
Realizzare programmi CGI in C
|
|
Pubblicità
|
|
| |
Realizzare programmi CGI in C in ambiente GNU/Linux.
In questo articolo mostriamo un esempio completo con il fine di poter mettere l'utente nelle condizioni di fare i primi passi con i CGI.
Per alcune nozioni introduttive invitiamo a leggere i seguenti articoli:
http://it.wikipedia.org/wiki/Common_Gateway_Interface
http://hoohoo.ncsa.uiuc.edu/cgi/
Collochiamo in una pagina web la seguente form html:
<FORM ACTION="http://www.nomedeldominio.com/cgi-bin/somma.cgi"> Introduci due valori da sommare <INPUT NAME="a" SIZE="5"> <INPUT NAME="b" SIZE="5"><BR/> <INPUT TYPE="SUBMIT" VALUE="Somma"> </FORM>
Ecco invece il sorgente del CGI in C da compilare (da chiamare somma.cgi e collocare nella cartella cgi-bin):
#include <stdio.h> #include <stdlib.h> int main(void) { char *data; long a,b; printf("%s%c%c\n", "Content-Type:text/html;charset=iso-8859-1",13,10); printf("<TITLE>Risultato della somma</TITLE>\n"); printf("<H3>Risultato della somma</H3>\n"); data = getenv("QUERY_STRING"); if(data == NULL) printf("<P>Errore! Dati non presenti."); else if(sscanf(data,"a=%ld&b=%ld",&a,&b)!=2) printf("<P>Errore! Dati non validi."); else printf("<P>La somma di %ld e %ld è %ld.",a,b,a+b); return 0; }
Consigli pratici
La cartella cgi-bin deve avere i permessi settati a 750 altrimenti il server potrebbe restituire un "internal error". Un ulteriore consiglio è quello di dare i seguenti permessi al file cgi:
chmod 755 somma.cgi
Assicurarsi che il proprietario del file sia proprio l'utente associato al dominio:
chown nomeutente somma.cgi
Indice argomenti |
|
|
|
|
| |
|
|
|
|