実際のプログラミングでは、フォームのHTMLコードとフォームを取得するPHPプログラムをそれぞれ2つのファイルに記述することもできますし、同じPHPファイルに記述することもできます。初めて Web 対話型プログラミングを学習する場合は、後者を使用すると、Web サイト内の Web ページ ファイルの数を減らすことができるため、後者を使用すると簡単になります。
1. まずは簡単な例を見てみましょう
<!DOCTYPE html> <html><body> <form method="POST" action=""> <!-- action内容为空或为自身文件 --> 用户名:<input type="text" name="name" size="10"> 密码:<input type="text" name="ps" size="10"> <input type="submit" name="login" value="登录"> </form> <?php if (isset($_POST['login'])) { /* 如果点击了'登录'按钮 */ $user=$_POST["name"]; $pwd=$_POST["ps"]; echo "用户名是:".$user; echo "<br />密码是:".$pwd; } ?> </body></html>
これは、フォームのHTMLコードとフォームを取得するPHPプログラムを同じPHPファイルに記述することです。
これは、ユーザー名「BIN_GOO」とパスワード「123」を入力してログインをクリックした場合の効果です。
2. 改善方法
ユーザー名とパスワードを入力すると、フォームデータとサーバーが取得した情報が同じページに表示されるためです。ログインをクリックした後にフォームデータを消して、取得した情報だけを表示させたい場合はどうすればよいですか?
方法は以下の通りです:
<?php if (isset($_POST['login'])) { $user=$_POST["name"]; $pwd=$_POST["ps"]; echo "用户名是:".$user; echo "<br />密码是:".$pwd; } else echo '<form method="post" action=""> 用户名:<input type="text" name="name" size="10"> 密码:<input type="text" name="ps" size="10"> <input type="submit" name="login" value="登录"> </form>'; ?>
この実装により、情報出力時にフォームが表示されなくなることが保証されます。これは、最初にログインをクリックしなかった場合、else のコードが実行され、ログインをクリックしたときに if のコードが実行され、フォーム データが隠蔽されるためです。
具体的な出力は次のとおりです:
これは、ユーザー名「BIN_GOO」とパスワード「123」を入力した後に「ログイン」をクリックした場合の結果です。
上記では、フォーム コードと PHP コードが同じファイルに記述されていることを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。