練習問題
9.6 練習問題 解答
問1
① ×:1つのファイルで行う方法がある。
② ○
③ ×:emptyでは「0」も空判定になるため、入力情報の有無チェックはisset関数を使って行う必要がある。
④ ○:送りたいデータはvalue属性に設定する。
⑤ ○
問2
ソースコード
practice0901.php
プログラムの先頭で条件分岐文とisset関数を使って入力情報の有無を確認します。確認した結果、入力情報が無い場合は初回アクセスと判断でき、elseブロックで使用する変数を空文字で設定します。逆に入力情報があれば送信ボタンからのアクセスと判断でき、ifブロック内でPOSTデータを取得し奇偶判定を行い変数に結果を設定します。
処理結果の各変数を下側のHTML文章内に埋め込むことで、アクセス状況に応じた内容を画面に表示することができます。
問3
practice0902.php
①入力回数を表示するには、まず初回アクセスの場合に変数$count初期値1を設定します。初回アクセス時にはその数値が32行目のinputタグのtype属性hiddenのvalue属性に埋め込み処理されます。このinputタグを追加することで、送信情報に入力回数を追加することができます。
送信ボタンが押されてアクセスされた場合(2回目以降)は、引き継いだ入力回数に+1した値を変数$countに設定します。その数値が再度32行目のvlaue属性に埋め込まれるため、アクセスする毎にカウントが増える仕組みになります。
②入力情報の空文字判定は、入力情報があった場合の処理の5~7行目で行います。empty関数とstrlen関数の2つ利用するのはemptyだけでは「0」を空扱いにするため、strlenで文字の長さを取得して2つの情報で判定を行うためです。