サイトのトップへ戻る

Google App Engine ドキュメント日本語訳

フォームを制御する

ユーザーがあいさつ文を投稿できるようにしたい場合は、ユーザーによってウェブフォームから送信された情報を処理するロジックが必要です。 PHP を使うとフォームのデータの処理が簡単になります。



ウェブフォームを制御する

helloworld/helloworld.phpの中身を以下のように書き換えます:

helloworld.php
View on GitHub
<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されたフォーム変数を使用できるようにします。

それでは、フォームがどのように処理されるか詳しく見てみましょう:

helloworld.php
View on GitHub
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エンティティ(&lt;のような)に書き換えます。



次は...

全てのウェブアプリケーションは、テンプレートやその他のメカニズムを使って、アプリケーションコードから動的に生成されたHTMLを返します。 ほとんどのウェブアプリケーションでは、画像やCSSスタイルシートやJavaScript ファイルのような静的コンテンツも用意する必要があります。 効率化のために、 App Engine では静的ファイルをアプリケーションのソースやデータファイルとは別に扱います。 App Engineの静的ファイル機能を使ってアプリケーションでCSSスタイルシートを使用することができます。

静的ファイルを使用する >>