Revision 6528,
1.4 KB
checked in by gustavo, 12 years ago
(diff) |
Ticket #2766 - Merge do branch das novas funcionalidaes para o trunk
|
-
Property svn:executable set to
*
|
Rev | Line | |
---|
[6351] | 1 | <?php |
---|
| 2 | |
---|
| 3 | /** |
---|
| 4 | * Display and process a HTML form via a HTTP POST request |
---|
| 5 | * |
---|
| 6 | * This example outputs a simple HTML form and gathers the POSTed data |
---|
| 7 | * |
---|
| 8 | * @namespace Tonic\Examples\HTMLForm |
---|
| 9 | * @uri /htmlform |
---|
| 10 | */ |
---|
| 11 | class HTMLForm extends Resource { |
---|
| 12 | |
---|
| 13 | /** |
---|
| 14 | * Handle a GET request for this resource |
---|
| 15 | * @param Request request |
---|
| 16 | * @return Response |
---|
| 17 | */ |
---|
| 18 | function get($request, $name) { |
---|
| 19 | |
---|
| 20 | $response = new Response($request); |
---|
| 21 | |
---|
| 22 | if ($name) { |
---|
| 23 | $welcome = "<p>Hello $name.</p>". |
---|
| 24 | "<p>Raw POST data:</p>". |
---|
| 25 | "<blockquote>$request->data</blockquote>"; |
---|
| 26 | } else { |
---|
| 27 | $welcome = "<p>Enter your name.</p>"; |
---|
| 28 | } |
---|
| 29 | |
---|
| 30 | $response->addHeader('Content-type', 'text/html'); |
---|
| 31 | $response->body = <<<EOF |
---|
| 32 | <!DOCTYPE html> |
---|
| 33 | <html> |
---|
| 34 | <body> |
---|
| 35 | <form action="htmlform" method="post"> |
---|
| 36 | <label>Name: <input type="text" name="name"></label> |
---|
| 37 | <input type="submit"> |
---|
| 38 | </form> |
---|
| 39 | $welcome |
---|
| 40 | </body> |
---|
| 41 | </html> |
---|
| 42 | EOF; |
---|
| 43 | |
---|
| 44 | return $response; |
---|
| 45 | |
---|
| 46 | } |
---|
| 47 | |
---|
| 48 | /** |
---|
| 49 | * Handle a POST request for this resource |
---|
| 50 | * @param Request request |
---|
| 51 | * @return Response |
---|
| 52 | */ |
---|
| 53 | function post($request) { |
---|
| 54 | |
---|
| 55 | if (isset($_POST['name'])) { |
---|
| 56 | $name = htmlspecialchars($_POST['name']); |
---|
| 57 | } else { |
---|
| 58 | $name = ''; |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | return $this->get($request, $name); |
---|
| 62 | |
---|
| 63 | } |
---|
| 64 | |
---|
| 65 | } |
---|
| 66 | |
---|
Note: See
TracBrowser
for help on using the repository browser.