著者: Sun Movement
これまでに示したすべての例で、フォームを含む単純な HTML ページと、フォームを処理するためのもう 1 つのページの 2 つのページを提供したことに気づいたかもしれません。入力とデータを受け取る PHP スクリプトです。対応する出力を生成します。ただし、PHP では、$submit 変数を通じてこれら 2 つのページを組み合わせるエレガントな方法が提供されています
すでにご存知のとおり、フォームが PHP スクリプトに送信されると、すべてのフォーム変数が PHP 変数になります。ユーザー定義変数に加えて、フォーム上の「送信」ボタンをクリックするたびに、$submit という名前の変数が作成されるようになりました。したがって、この変数が存在するかどうかをテストすることで、賢いプログラマは 1 ページだけを使用してフォームの初期化と送信後の出力の生成を行うことができます。
デモをお見せしましょう - 最初の選択日付ページとその後のフォーチュン クッキー ページを含む 1 ページを使用して、上記のフォーチュン クッキーの例を実装します。新しい PHP ファイルの名前も「cookie.php」であると仮定しましょう
--------------------------------- -------------------------------------------------
<
if (!$submit)
{
// $submit が存在しない場合は、フォームがまだ送信されていないことを意味します
?> ; html< ヘッド>
< /スタイル>
< font face="Arial" size="+2"> 素晴らしいフォーチュン クッキー ジェネレーター
< フォーム メソッド="GET" action="cookie.php"< ; テーブルのセルスペース = "5"
< td<
< align="right">
< 名前="曜日"> オプション値="月曜日"
オプション値="水曜日">水曜日
< オプション値 ="木曜日">木曜日
< オプション値 ="金曜日">金曜日
< オプション値 ="土曜日">土曜日
< オプション値 ="日曜日"> ;日曜日
<
< ; input type="submit" name="submit" > /td<
< /body>
< /html>
<
else
// $submit が存在する場合、フォームは送信されています
//ここでの決定変数は、ユーザーが選択した日付です
switch ($day)
{
// 最初のケース
case "月曜日":
$fortune = "すべてを複雑で素晴らしいものにする方法を見つけることができたとき、シンプルで効果的なものにしないでください。";
ブレーク;
// 最初のケース
ケース "火曜日"休憩"; Re Break;
Case" Wednesday":
$ FORTUNE =" 冷静な頭の人がこの世界で生きて決して狂うことがないのでしょうか? ";
= "ただ時代に従って、流行に乗ってください。昇進すると、そのタイプは悪魔であることがわかります。";
break; break&gt; ; エコー $day ?<
< /html> <
}
?> -------------- ------------------------
ご覧のとおり、スクリプトは最初にテストします$submit 変数が存在するかどうかを確認します。見つからない場合は、