ユーザーがあいさつ文を投稿できるようにしたい場合は、ユーザーによってウェブフォームから送信された情報を処理するロジックが必要です。 PHP を使うとフォームのデータの処理が簡単になります。
helloworld/helloworld.phpの中身を以下のように書き換えます:
<html>
<body>
<?php
if (array_key_exists('content', $_POST)) {
echo "You wrote:<pre>\n";
echo htmlspecialchars($_POST['content']);
echo " \n </pre>";
}
?>
<form action="/sign" method="post">
<div><textarea name="content" rows="3" cols="60"></textarea></div>
<div><input type="submit" value="Sign Guestbook"></div>
</form>
</body>
</html>
ページを再読み込みしてフォームを表示し、メッセージを送信してください。
フォームが送信された時、アプリケーションはHTTP POST メソッド(method="post")を使ってリクエストを受信し、
PHP は$_POST スーパーグローバルを使用してPOSTされたフォーム変数を使用できるようにします。
それでは、フォームがどのように処理されるか詳しく見てみましょう:
if (array_key_exists('content', $_POST)) {
echo "You wrote:<pre>\n";
echo htmlspecialchars($_POST['content']);
echo "\n</pre>";
}
(<textarea name="content"に保存された)メッセージを表示する前に、アプリケーションは $_POST スーパーグローバル内にメッセージが格納されているどうかを確認します。
そしてメッセージ内に特殊HTML文字 ( "<"のような)がある場合は、htmlspecialchars関数を使用してそれらを対応するHTMLエンティティ(<のような)に書き換えます。
全てのウェブアプリケーションは、テンプレートやその他のメカニズムを使って、アプリケーションコードから動的に生成されたHTMLを返します。 ほとんどのウェブアプリケーションでは、画像やCSSスタイルシートやJavaScript ファイルのような静的コンテンツも用意する必要があります。 効率化のために、 App Engine では静的ファイルをアプリケーションのソースやデータファイルとは別に扱います。 App Engineの静的ファイル機能を使ってアプリケーションでCSSスタイルシートを使用することができます。