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