Thread Catalyst - einfaches Formular (14 answers)
Opened by rosti at 2015-01-27 07:17

pq
 2015-01-27 14:12
#179384 #179384
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
* Lies: https://metacpan.org/pod/Catalyst
* führe die Schritte aus, die dort gelistet sind, um eine App zu erstellen (Model kannst du erstmal weglassen).

in MyApp/lib/MyApp/Controller/Root.pm:
Code (perl): (dl )
1
2
3
4
5
6
7
8
sub index :Chained('/index.html') Path :Args(1) {
    my ( $self, $c ) = @_;

    $c->stash->{template} = 'index.tt';
    if ( my $input = $c->req->params->{abc} ) {
        $c->stash->{abc} = $input;
    }
}


in MyApp/root/index.tt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
[% IF abc %]
Input: [%= abc %] (hier fehlt noch escaping!)
<br>
<a href="/index.html">/index.html</a>
[% ELSE %]
<form action="/index.html">
<input type="text" name="abc" value="def"><br>
<input type="submit" value="Go">
</form>
[% END %]


und das nach einem kurzen Blick in die Doku (zuletzt habe ich mich mit Catalyst vor 7-8 Jahren beschäftigt, und das nur kurz)

edit: escapen musst du im template natürlich auch, sonst hast du gleich deine erste XSS, aber ich vergesse immer, wie das in TT geht.
Last edited: 2015-01-27 14:39:35 +0100 (CET)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Catalyst - einfaches Formular