和隆日記

PHP「英単語を推測するゲーム」を紹介

全体コードはこんな感じになっています。

<form method=”post”>

<input type=”text” name=”text1″ size=”1″>

<input type=”text” name=”text2″ size=”1″>

<input type=”text” name=”text3″ size=”1″>

<input type=”text” name=”text4″ size=”1″>

<input type=”text” name=”text5″ size=”1″>

<input type=”text” name=”text6″ size=”1″>

<input type=”text” name=”text7″ size=”1″>

<input type=”text” name=”text8″ size=”1″>

<input type=”submit” value=”送信する”>

</form>

<?php

// 正解を変数に入れる

$answer = “Tomorrow”;

$first = filter_input(INPUT_POST,”text1″);

if(!ctype_alnum($first)){

echo”入力してください”;

}else if (mb_strlen($first) !=1){

echo”1つの枠に1文字だけ入力してください”;

} else if($first == substr($answer,0,1)){

echo $first.”は正解”;

} else{

echo $first.”はハズレ”;

}

まず入力フォームを作ります!今回は「Tomorrow」という文字が正解にしたいのでHTMLで文字入力を8個のtextホームを作ります!

<form method=”post”>

<input type=”text” name=”text1″ size=”1″>

<input type=”text” name=”text2″ size=”1″>

<input type=”text” name=”text3″ size=”1″>

<input type=”text” name=”text4″ size=”1″>

<input type=”text” name=”text5″ size=”1″>

<input type=”text” name=”text6″ size=”1″>

<input type=”text” name=”text7″ size=”1″>

<input type=”text” name=”text8″ size=”1″>

<input type=”submit” value=”送信する”>

</form>

次にPHPを書いていく

まず$answerの変数にTomorrow(答え)を作ります
$answer = “Tomorrow”;

次にtext1を唱えていきます

$first = filter_input(INPUT_POST,”text1″);

ここでif文を使っていきます。そして一気にelseを使いまくって完成させて行きます!

まずctype_alnumを使って$firstが「英語で表示されているか」を確認します。

if(!ctype_alnum($first)){

入力していない場合も入力してくださいを表示します。

echo”入力してください”;

次に上がクリアしたら1つの枠に1文字しか入っていないかを確かめる。mb_strlenを使います!mb_strlenは文字数を設定して確かめる関数です。続きに!=1で1文字か確認します。

}else if (mb_strlen($first) !=1){mb_strlen

1文字以上入力していたなら↓を表示させます!

echo”1つの枠に1文字だけ入力してください”;

substrで一番最初の文字を確認します。なので「Tomorrow」の場合($answer,0,1)の

0がTということなのでTを持ってきたって言う感じです。

} else if($first == substr($answer,0,1)){

そしてTが入力されたならecho $first.”は正解”; と唱えて「Tは正解」を表示させます。

echo $first.”は正解”;

違った場合”はハズレ”と表示させるため↓のように書きます。

} else{

echo $first.”はハズレ”;

}

そして閉じて今書いたPHPを文字数(8文字)分作ると完成です!!

全部文字を入れて送信するを押すと↓のように○は正解ですと言う形で表示されます。

まとめ

今回は「ctype_alnum」や「mb_strlen」などを意識したコードを紹介しました。私のやり方はPHPを複数作るやり方ですがfor分を使ったやり方もあるのでぜひやってみてください!


profile

Ryuki

専門学校

2002年7月15日

特技はボクシングとバレー

コメントを残す

コメント記入欄の上に表示するメッセージ

コメント記入欄の下に表示するメッセージ

 
pagetop