演習課題「フォームで、RPGの戦闘シーンを作る」
右の環境には、PHPでRPGの戦闘シーンのプログラムが作成してありますが、プルダウンリストに敵の名前が1つしか表示されません。以下の敵の名前を表示するように、プログラムを修正してください。
スライム, モンスター, ドラゴン
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#05:フォームを使ってRPGの戦闘シーンを作ろう2
ここでは、PHPによるフォームの具体例として、RPGの戦闘シーンを作ります。先ほどのチャプターで作ったフォームをベースにして、ドロップダウンメニューでプレイヤーを選択できるようにしましょう。
public_html/battle.php<?php
$players = ['勇者', '戦士', '魔法使い'];
if(isset($_REQUEST['name'])) {
$message = htmlspecialchars($_REQUEST['name']) . 'はモンスターと戦った';
} else {
$message = 'あらたなモンスターがあらわれた!';
}
require_once 'views/battle.tpl.php';
public_html/views/battle.tpl.php<!DOCTYPE html>
<html lang='ja'>
<?php include('header.inc.php'); ?>
<body>
<h1>RPGの戦闘フォーム</h1>
<p><?= $message ?></p>
<form action='battle.php' method='post'>
<label for='name'>プレイヤー</label>
<select name='name'>
<?php foreach ($players as $player) { ?>
<option value='<?= $player ?>'>
<?= $player ?>
</option>
<?php } ?>
</select>
<p></p>
<button type='submit'>たたかう</button>
</form>
<form action='battle.php' method='get'>
<button type='submit'>にげる!</button>
</form>
<?php include('footer.inc.php'); ?>
</body>
</html>
- PHP: フォームの処理 - Manual
http://php.net/manual/ja/tutorial.forms.php
- PHPでフォームからデータを受け取る方法(GETとPOST) | TechAcademyマガジン
https://techacademy.jp/magazine/4955
- PHPでフォームからデータ送る - Qiita
https://qiita.com/nogson/items/4099bdc7faa6ffe9ca5e
- PHP $_REQUEST(リクエスト変数)のすべて!【初心者向け 基本~】 | WEPICKS!
http://wepicks.net/phpref-request/
- 「何故htmlspecialcharsを通すのか?」を一言でどうぞ - Qiita
https://qiita.com/mpyw/items/19e6fed835ccdbcb0d6d