Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Confirmation page using HTML::Template & CGI::Application

by bradcathey (Prior)
on Feb 02, 2004 at 16:23 UTC ( #325890=note: print w/replies, xml ) Need Help??

in reply to Confirmation page using HTML::Template & CGI::Application

Excellent points by jeffa and jdtoronto that will be helpful in my own work. Two additional points:

1. True, Javascript is not to be trusted, and I always validate in my Perl script (as a function of untainting input). However, I still occassionally use JS to validate on the client side (if they have it turned on and aren't trying to crack it) as a preliminary filter because it's fast, no delay, no tapping of the server, no screen refresh. Double-coding? Yes. But it might make things more convenient for the average surfer. Just something to keep in mind.

2. If you are rolling your own confirmation page, and using H::T, consider the handy associate setting, which populates your template with the original data (I learned this from jeffa's helpful H::T tutorial):
my $query = new CGI; my $name = $query->param('name'); my $address = $query->param('address'); my $city = $query->param('city'); my $zip = $query->param('zip'); my $template = HTML::Template->new(filename => '../confirmation.tmpl', associate => $query, die_on_bad_params => 0);

"A little yeast leavens the whole dough."

Replies are listed 'Best First'.
Re: Re: Confirmation page using HTML::Template & CGI::Application
by jdtoronto (Prior) on Feb 02, 2004 at 19:43 UTC
    Good thoughts bradcathey.

    A wonderful example of double-coding, and a useful module ofr simple form manipulation is CGI::FormBuilder from Nate Wiger. This handly module generates JavaScript validation code that you can put in the form directly, or using HTML::Template.

    In fact Nate has a family of simple modules that work very well together including SQL::Abstract and HTML::QuickTable. I often use these for truly quick and dirty testing stuff or intranet goodies that will never go past the firewall.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://325890]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2020-02-19 09:53 GMT
Find Nodes?
    Voting Booth?
    What numbers are you going to focus on primarily in 2020?

    Results (81 votes). Check out past polls.