四、 向服务器发送数据
现在我们从数据库读取数据已经没有太多困难了。但是怎么反过来向数据库发送数据呢?其实这不是PHP的问题。
首选,我们创建一个带有简单表格的网页。
$#@60;html$#@62; $#@60;body$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; 名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
同样要注意$PATH_INFO的用法。就象我在第一课里讲到的,您可以在HTML代码中的任意位置使用PHP。您也会注意到,表格中的每一个元素都对应着数据库中的一个字段。这种对应关系并不是必须的,这么做只是更直观一些,便于您以后理解这些代码。
还要注意的是,我在Submit按钮中加入了name属性。这样我在程序中可以试探$submit变量是否存在。于是,当网页被再次调用时,我就会知道调用页面时是否已经填写了表格。
我应该指出,您不一定要把上面的网页内容写到PHP程序中,再返过来调用程序本身。您完全可以把显示表格的网页和处理表格的程序分开放在两个网页、三个网页甚至更多网页中,悉听尊便。放在一个文件中只是可以使内容更加紧凑而已。
那好,我们现在加入一些代码,来检查用户在表格中输入的内容。我会把用$HTTP_POST_VARS把所有查询参数变量都显示出来,这只不过是为了证明PHP确实把所有变量都传给了程序。这种方法是一个很有用的调试手段。如果您要想看全部的变量,可以用$GLOBALS。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php if ($submit) { // 处理表格输入 while (list($name, $value) = each($HTTP_POST_VARS)) { echo "$name = $value$#@60;br$#@62; "; } } else{ // 显示表格 ?$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; 名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;?php } // end if,if结束 ?$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
プログラムは現在正常に実行されており、フォームに入力された内容を取得して送信できるようになりました。それらをデータベースに保存します。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php if ($submit) { // を処理しますフォームに $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $sql = "INSERT INTO 従業員 (姓、姓、住所、役職) 値を入力します( $first,$last,$address,$position)"; $result = mysql_query($sql); echo "情報を入力していただきありがとうございます。 "; } else{ // フォームの内容を表示 ?$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO ?$#@62;"$#@62; 名前: $#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓: $#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住所: $#@60;input type= " Text" name="address"$#@62;$#@60;br$#@62; 位置: $#@60;input type="Text" name="position"$#@62; $ #@60;br$#@62; $#@60;input type="送信" name="送信" value="入力情報"$#@62; $#@60;/form $ #@62; $#@60;?php } // 終了したら終了 ?$#@62; $#@60;/body$#@62; $ # @60;/html$#@62; |
これでデータベースにデータが挿入されました。ただし、改善すべき課題はまだたくさんあります。ユーザーが特定のフィールドに入力しなかった場合はどうなりますか?数字が必要なテキストを入力する場合はどうすればよいですか?または、間違って記入した場合はどうすればよいですか?心配しないで。段階的に見ていきましょう。