zpracovani formulare
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Říjen 15 10:08:15 MEST 1999
>
> potreboval bych zpracovat formular, kde je multiple select. Ale vubec nevim
> jak na to mam pole formulare zretezene do tvaru
>
> autor=shakespearemolieregoethe
>
> ale ja bych je potreboval mit v hash ve tvaru
>
> author=shakespeare
> author=moliere
> author=goethe
Ale tohle samozrejme neni hash, ze.
> k precteni form. pouzivam
>
> sub parse_form_data
> {
> local(*DATA) = @_;
> local($query_string, @key_value_pairs, $key_value, $key, $value);
>
> read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
> @key_value_pairs = split(/&/, $query_string);
>
> foreach $key_value (@key_value_pairs)
> {
> ($key, $value) = split(/=/, $key_value);
>
> $value =~ tr/+/ /;
> $key =~ tr/+/ /;
>
> $key =~ s/%([\dA-Fa-f][\dA-Fa-f])/pack ("C", hex ($1))/eg;
> $value =~ s/%([\dA-Fa-f][\dA-Fa-f])/pack ("C", hex ($1))/eg;
>
> if (defined($DATA{$key}))
> {
> $DATA{$key} = join (" ", $DATA{$key}, $value);
> }
> else
> {
> $DATA{$key} = $value;
> }
>
> }
> }
>
> Mockrat dekuji za radu
Doporucuji zahodit a pouzit
use CGI;
my $query = new CGI;
my @autori = $q->param('author');
Je to kratsi, prehlednejsi, a pravdepodobne to bude fungovat ve vice
pripadech, nez to Vase parsovani.
Doufam, ze to pomuze,
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain, ...
------------------------------------------------------------------------
Další informace o konferenci Perl