Jun9(1):入力フォームで受け渡し→確認→戻るのフローで、入力値を保持する。

入力フォームにて入力

確認画面へ

戻るボタン

入力フォームに戻る

この時、入力フォームに値が保持されるようにする。そうしないとユーザが「また入力かよ!」みたいに思うから。


まずは確認画面で戻るボタンを作らねば、


<form method="post" action="complete.html"
<input type="bottun" value="戻る" onclick="history.back()">
</form>

これが出来たらよいのだが、history.back()とか、histrory.go(-1)とかはダメなので、他の手段を探すことに。

最初に簡単なHTMLを三個作ってみて、それをPHPファイルでひとまとめにし、1つのファイル内で遷移できるようにした。

ここで必要なものは制御構文たるもの。if文とかelse文とかelseif文とか。


<?php

if(count($_POST["confirm"]) > 0){
$name = $_POST["input"];
echo "いいですか?
0){
echo "完了";
$msg2 =<<

簡単に説明。


TOPはelseの中から始まる。

最初のifやelseifの文の条件は


$_POST["input"]の値が0よりでかい。(何かしらの値が入っている)

これはpostで引き継がれた値が何かあるかということだけれども、そんなもの最初から引き継いでるわけないのでelseにあたるわけ。

それで、最後のsubmitでname="confirm"のキーを持つ値を引き継ぐ。(説明がうまく出来ません。)

すると、


$_POST["confirm"]
の値がゼロではなくなる(値を持つ)ので、次の遷移に移る。ここでも同じように最後のsubmitで次の遷移に移れる様に値を引き継ぐ。

最終的に「最初に戻る」という送信ボタンを作っているが、この名前はtotopで、そんなキー値を持つ連想配列の値はないので、TOP(else)に戻る。

ちなみに、ヒアドキュメントとは、PHPで長い文章を書くときに便利で、echoやprint_r意外に


$here =<<

こんなことすれば、長文でも一撃で書き出しが可能なのだ。


こんな感じで遷移について理解していきましたが、if、else、elseif等を使いこなせるまでにはまだまだ時間がかかりそう。でも出来ると楽しいんですよ。


今日の課題は明日に持ち越しになりました。