Newsgroup: it.comp.lang.perl
Titolo: UNA SEMPLICE INTERAZIONE

SALVE ESPERTI,
IO USO WIN98 MI STO AVVICINANDO ORA AL PERL MA SE NON PROVO CIO' CHE FACCIO
NON POSSO IMPARARLO
O FATTO UN SEMPLICE SCRIPT (premetto che io sono molto interessato
all'interazione con il web e perciň voglio sviluppare i CGI)
#! c:\Perl\bin\perl.exe
print "<HTML><HEAD><TITLE>VIVA IL PERL</TITLE></HEAD><BODY>COME E BELLO
ANDARE IN GIRO</BODY></HTML>"
lo ho salvato su un file chiamato 
ango.pl
Ho poi creato un pagina html (mio.html della cartlla dell'host) dalla quale
richiamo lo script cosě:
<html>
<head>
<title>PERL</title>
</head>
<body>
<form action=
http://127.0.0.1/cgi-bin/ango.pl
 method=get>
<input type=submit value="Submit">
<input type=reset value="Reset">
</form>
</body>
</html>
Speravo che il server Apache mi restituisse una pagine con il titolo VIVA IL
PERL e la scritta COME E BELLO ANDARE IN GIRO (ho tolta l'accento alla "e"
nel caso fosse lei il problema, ma APACHE mi spedisce su una page sul quale
c'e' scritto :
#########
Internal Server Error
The server encountered an internal error or misconfiguration and was unable
to complete your request.
Please contact the server administrator, 
amminis...@alex3com.it
 and
inform them of the time the error occurred, and anything you might have done
that may
have caused the error.
More information about this error may be available in the server error log.
Apache/1.3.11 Server at 
alex3com.it
 Port 80
##########
IL CLASSICO ERRORE
VOLEVO INOLTRE DIRVI CHE PER CONFIGURARE IL SERVER HO SEGUITO LA
DOCUMENTAZIONE RELATIVA CHE HO TROVATO SU INTERNET E CHE HO AVUTO DA QUESTO
NESWGROUP
CORDIALMENTE RINGRAZIO ANTICIPATAMENTE

 wrote in message
8dqgnn$9fj$1...@nmaster.tin.it...

Ciao!
Se tutto č configurato come dovrebbe, penso che basti aggiungere il
content-type e il ; dopo
il print. ES:
#! c:\Perl\bin\perl.exe
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>VIVA IL PERL</TITLE></HEAD><BODY>COME E BELLO
ANDARE IN GIRO</BODY></HTML>"
Il Content-type indica che tipo di documento stai inviando ... č
indispensabile nella programmazione CGI...
Ciao a tutti, blavoro...
Ezio BOnsi

Sai cos'hai sbagliato? Un errore banalissimo, non hai inserito alla fine
della stringa il punto e virgola ;!!!!!
Oltre a questo non hai messo le INDISPENSABILI righe di identificazione
dell'output:
print "Content-type: text/html\n\n" ;
Senza di questo il programma va a broccoli!!
Non si deve mai dimenticare!!!!!
Comunque, per non dare problemi con accenti, virgolette, etc, ti consiglio
di utilizzare questa forma:
print <<EOF;
CIO' che vuoi senza punto e virgola ,
PUOI METTERE TUTTOOOOOOOOOOOO!!!!!!!!!!!!
EOF
Questo chiude. Ricordati che non ci devono essere altri spazi oltre a EOF.
Altro problema. Quando metti un form indirizzato ad un programma, indirizza
sempre il programma alla pagina nel seguente modo:
All'inizio della pagina metti cosě:
#!/usr/bin/perl
require ('
cgi-lib.pl
');
&ReadParse(*field);
if ($field{'azione'} eq 'visualizza') { &visualizza; }
else { &errore; exit; }
sub visualizza {
AZIONE
}
sub errore {
PAGINA DI ERRORE
}
Invece, nella pagina HTML fai coincidere le variabili in modo che si ha un
input preciso onde evitare che qualche cretino ci metta il naso:
<form action=INDIRIZZO.CGI method="POST"> (Post č piů sicuro)
___________________
Tutti i form che vuoi
-------------------------------------
<inpunt type=submit name=azione value=visualizza>
</form>
Spero di esserti stato d'aiuto. Se hai di bisogno, scrivimi:
mich...@tiscalinet.it
CIAO
--
----------------------------------------
Francesco Platania - 
mich...@tiscalinet.it
ICQ # 38498339 - 
http://michaeljj.virtualave.net
=========M J  -  2 0 4 0==========
