[Tech] Semplice data entry
Franco Bagnoli
franco.bagnoli@unifi.it
Lun 18 Apr 2005 22:21:19 CEST
Giancarlo Martini wrote:
> Franco Bagnoli wrote:
>
>>
>> a parte le battute: una maniera è effettivamente di usare un editor di
>> testo e scrivere un file yaml, poi lo converti con poche righe di
>> perl/python/ruby/ecc.
>>
>> Se vuoi dei form con controllo di quello che è stato inserito, scrivi
>> un cgi nel linguaggio che vuoi (ovviamente perl ;) e fai il controllo
>> a livello javascript (e poi sul server)
>>
>>
> C'e' qualcosa che rassomigli al vecchio dbIII o alle vecchie versioni
> del foxpro ?
> Ciao e grazie
>
non so, ma l'approccio CGI è molto semplice. scrivi una pagina html
con una form, (se vuoi non metti né controlli javascript né altro)
e dal cgi salvi i dati sul file.
eccoti qui un programmillo che fa tutto: server web e data entri
#!/usr/bin/perl
use Net::HTTPServer;
my $server = new Net::HTTPServer(port=>5000,
docroot=>"/var/www/site");
$server->RegisterURL("/",\&test);
$server->Start();
$server->Process(); # Run forever
sub test {
my $req = shift; # Net::HTTPServer::Request object
my $res = $req->Response(); # Net::HTTPServer::Response object
my $nome1= $req->Env("nome1");
my $nome2= $req->Env("nome2");
if ($nome2) {
open OUT, ">>data.txt";
print OUT "$nome1, $nome2\n";
close OUT;
}
$form = <<fine;
<html>
<head>
<title>Input form</title>
</head>
<body>
<form>
<table>
<tr><td>nome: </td><td><input type="text" name='nome1' /> </td></tr>
<tr><td>cognome: </td><td><input type="text" name='nome2' />
</td></tr>
<tr><td colspan="2"><input type=submit value="inserisci"></td></tr>
</table>
</form>
</body>
</html>
fine
$res->Print($form);
return $res;
}
istallati NET::HTTPServer
(cpan install NET::HTTPServer)
lancia
perl serverino.pl &
e collegati alla porta 5000 del tup pc. i dati vanno a finire in data.txt
(p.s. come vedi il server può anche "servire" delle pagine statiche, per
esempio di help).
--
Franco Bagnoli <franco.bagnoli@unifi.it>
Dipartimento di Energetica & Centro Dinamiche Complesse
Universita' di Firenze, via S. Marta, 3 I-50139 Firenze, Italy.
Tel. +39 0554796422, fax: +39 055471787
Maggiori informazioni sulla lista
flug-tech