実際のプログラミングでは、フォームの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ファイルに記述することです。
![表单代码和PHP代码写到同一个文件中](http://image.codes51.com/Article/image/20160718/20160718002930_7682.png)
これは、ユーザー名「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 のコードが実行され、フォーム データが隠蔽されるためです。
具体的な出力は次のとおりです:
![表单代码和PHP代码写到同一个文件中](http://image.codes51.com/Article/image/20160718/20160718002931_1120.png)
これは、ユーザー名「BIN_GOO」とパスワード「123」を入力した後に「ログイン」をクリックした場合の結果です。
上記では、フォーム コードと PHP コードが同じファイルに記述されていることを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。