Hi,

thank you

We ll you ask
> Finally, why are you using a hash?  Why not just store the values back
> into param()?  If you're dealing with a form that has checkboxes, or
> multiple fields with the same name, you'll lose some data your way.

----I'm using a hash because the actual code is
%ACTION=parameters();

sub parameters{
    ###THE CODE TO VERIFY
    return %result;
}
personnally I find it easier to type ACTION than param. I make less typo
typing ACTION than param because it is hard for me to get the 'm'


> Why do you remove the space at the end if you're going to be removing all
> non-letters-and-numbers anyway?  A space would be deleted anyway.
----I didn't know that perl removed the end space Good news and I learn
something new :-).

these are my toughts:
You said:
> Why are you bothering to do anything to the NAME of the field?  You
> created the names of the form fields (right?), and besides, you don't end
> up using $name.
Well you are right, I tought Before maybing someone will at code to the name
to hack into the script.
But think about it again, I'm always doing $ACTION{name} some if he/she puts
a code then it won't have any effect
at least I hope.


And Thank you about this
'tr/a-zA-Z0-9//cd for @values'
I whish I new it before.

thanx Again
Anthony

"Jeff 'Japhy' Pinyan" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> On Aug 17, awards said:
>
> >I have many forms, and basically I just need to receive either a number
> >or characters or both. this is how I check
>
> To answer your subject line, YES, it is a good idea to verifying the data
> a user sends you is what you expect.
>
> >my ($value,%result,$name);
>
> $value and $name should be declare inside the loop, since that's the
> extent of their scope (as far as this code shows).
>
> >foreach (param){
> >    $name = $_;
> >    $name =~ s/\s$//;##take the space at the end
> >    $name =~ s/[^a-zA-Z0-9]//g;##all none character is change into
nothing
>
> Why are you bothering to do anything to the NAME of the field?  You
> created the names of the form fields (right?), and besides, you don't end
> up using $name.
>
> >    $value = param($_);
> >    $value =~ s/\s$//;## take the space at then end
> >    $value =~ s/[^a-zA-Z0-9]//g;##all none character is change into
nothing
>
> Why do you remove the space at the end if you're going to be removing all
> non-letters-and-numbers anyway?  A space would be deleted anyway.
>
> >    $result{$_}=$value;
> >}
>
> Finally, why are you using a hash?  Why not just store the values back
> into param()?  If you're dealing with a form that has checkboxes, or
> multiple fields with the same name, you'll lose some data your way.
>
>   for (param) {
>     my @values = param($_);
>     tr/a-zA-Z0-9//cd for @values;  # a faster way
>     param($_, @values);  # this SETS the values of the param to @values
>   }
>
> -- 
> Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
> RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
> <stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
> [  I'm looking for programming work.  If you like my work, let me know.  ]
>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to