[dancer-users] Help with a POST

John Stoffel john at stoffel.org
Fri Aug 7 16:54:00 BST 2015


And I know there's a helper you can use to fill in the action so that
you don't have to update the URLs when you deploy it elsewhere.... but
I'm at work and not near my notes...

Ah... here it is.  Just do:

<form action="user">

And I think you also want to remove the <!DOCTYPE html> as well, since
this template will get embedded into alayout which will take care of
all that stuff.  

John


Andrew> I think what you're after is something like this to tell the browser you want to POST:
Andrew> <form action="http://localhost:3000/user" method="POST">

Andrew> Does that do the trick?

Andrew> A

Andrew> On Fri, Aug 7, 2015 at 3:47 PM, Richard Reina <gatorreina at gmail.com> wrote:

Andrew>     Wait, Does this provide a clue to the error of my ways? This is the template (user.tt) that I
Andrew>     am using for the form.
   
Andrew>     <!DOCTYPE html>
Andrew>     <html>
Andrew>     <body>
   
Andrew>     <h1>Get in the game.</h1>
   
Andrew>     <form>
Andrew>     First name:<br>
Andrew>     <input type="text" name="firstname">
Andrew>     <br>
Andrew>     Last name:<br>
Andrew>     <input type="text" name="lastname">
Andrew>     <br>
Andrew>     Email Address:<br>
Andrew>     <input type="text" name="email">
Andrew>     <br>
Andrew>     User Password:<br>
Andrew>     <input type="password" name="psw">
Andrew>     <br>
Andrew>     User Confirm Password:<br>
Andrew>     <input type="password" name="psw2">
Andrew>     <br>
Andrew>     Terms & Conditions
Andrew>     <input type="checkbox" name="terms"> I agree with terms and conditions.<br>
Andrew>     <br>
Andrew>     <input type="submit" value="Go" />
Andrew>     </form>
   
Andrew>     <p>Note that the form itself is not visible.</p>
   
Andrew>     <p>Also note that the default width of a text field is 20 characters.</p>
   
Andrew>     </body>
Andrew>     </html>

Andrew>     2015-08-07 9:36 GMT-05:00 John Stoffel <john at stoffel.org>:

Andrew>         You need to build a web page with a FORM first, then submit the data
Andrew>         that way to the /user URL, so it can get handled.
       
Andrew>         Try using git to clone this repository and use that as a base for your
Andrew>         playing around:
       
Andrew>         https://github.com/agordon/dancer_bootstrap_fontawesome_template.git
       
Andrew>         I don't have any working examples handy right this second...
       
Richard> I am hoping someone can help me understand how to get this to
Richard> work as a POST instead of GET.  When I do sub below as 'get'
Richard> it works but when I replace 'get' with 'post' I get:
       
Richard> --2015-08-06 13:52:05--  http://0.0.0.0:3000/user
Richard> Connecting to 0.0.0.0:3000... connected.
Richard> HTTP request sent, awaiting response... 404 Not Found
Richard> 2015-08-06 13:52:05 ERROR 404: Not Found.
       
Richard> package MyApp;
Richard> use Dancer ':syntax';
Richard> use Dancer::Plugin::FormValidator;
       
Richard> our $VERSION = '0.1';
       
Richard> post '/user' => sub {
       
Richard>     my $input_hash = {
       
Richard>         FName => param('firstname'),
Richard>         LName => param('lastname'),
Richard>         Email => param('email'),
Richard>         Terms => param('terms'),
       
Richard>     };
       
Richard>     my $number_of_defined_values = scalar grep { defined } values %{$input_hash};
Richard>     $number_of_defined_values = $number_of_defined_values + 0;
       
Richard>     if ($number_of_defined_values > 1) {
       
Richard>           my $error = form_validator_error( 'profile_user', $input_hash );
       
Richard>          if ( ! $error ) {
Richard>              #the user provided complete and validates data it's cool to proceed
       
Richard>          } else {
       
Richard>               my %hash = %$error;
Richard>               foreach my $k (keys %hash) {
Richard>                   return "$k: $hash{$k}\n";
       
Richard>               }
       
Richard>          }
Richard>     }
       
Richard>     template 'user';
       
Richard> ##########################################################
Richard> }; ### end of sub user ###################################
       
Richard> true;
       
Richard> Thanks in advance for any help.
       
Richard> _______________________________________________
Richard> dancer-users mailing list
Richard> dancer-users at dancer.pm
Richard> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
Andrew>         _______________________________________________
Andrew>         dancer-users mailing list
Andrew>         dancer-users at dancer.pm
Andrew>         http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Andrew>     _______________________________________________
Andrew>     dancer-users mailing list
Andrew>     dancer-users at dancer.pm
Andrew>     http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Andrew> --
Andrew> Andrew Solomon

Andrew> Mentor at Geekuni http://geekuni.com/
Andrew> http://www.linkedin.com/in/asolomon

Andrew> _______________________________________________
Andrew> dancer-users mailing list
Andrew> dancer-users at dancer.pm
Andrew> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users


More information about the dancer-users mailing list