PHP之五_表单数据接收

  PHP之五_表单数据接收


  下面的课程中,我们将完成一个“用户注册”的功能:



  这一完整功能其实可以分成三个步骤来实现:接收表单数据,设计数据库,将表单数据编程写入数据库。

  所以该案例分三小节:

  Part1: 表单数据接收

  Part2: MySQL数据库设计

  Part3: PHP编程访问MySQL数据库


  这一节,我们先学习PHP语言中的表单数据接收。


  一、练习一:简易计算器


  这是一个非常简单的计算器,只需输入数字1和数字2,并选择一个运算符,就可以在后台通过PHP代码计算出结果。

  该练习由两个页面组成,一个页面是demo1.html,是前台页面,一个页面是demo1.php,是后台PHP代码。

  为了便于部署和调试,我们先介绍下Dreamweaver中的站点管理功能。


  1. 在新建站点时,设置服务器。

  在Dreamweaver中,选择菜单“站点”->“新建站点”:


  切换到“服务器”页面:


  点击“+”,添加服务器:


  选择“本地/网络”:


  其中“服务器文件夹”指向“C:\wamp\www”,“Web URL”指向“http://localhost”。


  配置完成后,站点中的文件就可以快速地部署到服务器上了。只需点击“上传”:



  2. 通过Dreamweaver制作demo1.html,源代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简易计算器</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="demo1.php">
  <p>
    <label for="a">数字1:</label>
    <input type="text" name="a" id="a" />
    <select name="ys" id="ys">
      <option value="+">+</option>
      <option value="-">-</option>
      <option value="*">*</option>
      <option value="/">/</option>
    </select>
<label for="b">数字2:</label>
    <input type="text" name="b" id="b" />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="计算" />
  </p>
</form>
</body>
</html>


  3. 在Dreamweaver的代码视图中编写demo1.php,源代码如下:

<?php
$a = $_POST["a"];
$b = $_POST["b"];
$ys = $_POST["ys"];
if($ys == "+") {
  $c = $a + $b;
} else if($ys == "-") {
  $c = $a - $b;
} else if($ys == "*") {
  $c = $a * $b;
} else if($ys == "/") {
  $c = $a / $b;
}
echo $c;
?>

  点上传图标,将站点上传到服务器中。打开浏览器,输入:http://localhost/demo1.html,查看运行结果。


  练习一总结:

  × 表单的HTML代码是:

<form id="form1" name="form1" method="post" action="demo1.php">
  表单的method属性表示提交方式,有get/post两种,action属性表示表单数据提交给谁,即谁来接收表单数据。

  × 每一个表单元素如果需要被后台接收到,就应该设置name属性,每个重要的表单元素都应有自己的名字。

  × PHP中,用于接收表单数据的函数有三种:_GET['表单元素名']、_POST['表单元素名']和_REQUEST['表单元素名'],其中_GET只接收提交方式为get的表单数据,_POST只接收提交方式为post的表单数据,而_REQUEST可以同时接收两种提交方式的表单数据。

  × 接收时,_POST['表单元素名']必须与前面HTML页面中的表单元素名一致方能顺利接收。


  二、练习二:用户注册


  用户输入各项信息后,点击提交即可注册。

  这里比较麻烦的是复选按钮,即最后一行的“业余爱好”一栏。

  由于复选按钮可以选择多个,所以在前台和后台都要特别注意。


  1. 在Dreamweaver中制作demo2.html,源代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户注册</title>
<style type="text/css">
.w160 {
	width: 160px;
}
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="demo2.php">
  <table width="800" border="1">
    <tr>
      <td width="30%" align="right">用户名:</td>
      <td><input name="name" type="text" class="w160" /></td>
    </tr>
    <tr>
      <td align="right">密码:</td>
      <td><input name="pass" type="password" class="w160" /></td>
    </tr>
    <tr>
      <td align="right">再次输入密码:</td>
      <td><input name="pass2" type="password" class="w160" /></td>
    </tr>
    <tr>
      <td align="right">邮箱:</td>
      <td><input name="email" type="text" class="w160" id="email" /></td>
    </tr>
    <tr>
      <td align="right">性别:</td>
      <td><input type="radio" name="sex" value="男" />
        男
        <input type="radio" name="sex" value="女" />
        女</td>
    </tr>
    <tr>
      <td align="right">业余爱好:</td>
      <td><input type="checkbox" name="love[]" value="篮球" />
        篮球
        <input type="checkbox" name="love[]" value="唱歌" />
        唱歌
        <input type="checkbox" name="love[]" value="阅读" />
        阅读</td>
    </tr>
    <tr>
      <td align="right"> </td>
      <td><input type="submit" value="提交" />
      <input type="reset" value="重置" /></td>
    </tr>
  </table>
</form>
</body>
</html>
  注意:复选框的命名,命名为“love[]”,在名字后加一对中括号,这样提交到后台的数据可以有多个。


  2. 编写demo2.php,源代码如下:

<?php
$name = $_POST["name"];
$pass = $_POST["pass"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$sex = $_POST["sex"];
$love = $_POST["love"];
echo "用户名:", $name, "<br />";
echo "邮箱:", $email, "<br />";
echo "性别:", $sex, "<br />";
echo "业余爱好:<br />";
for($i=0; $i < count($love); $i++) {
  echo "  ", $love[$i], "<br />";
}
?>
  对于复选框的接收,代码上与其它表单元素并无差别。

  但接收到的是一个数组,即$love变量是一个数组,而不是普通变量。

  使用count函数可以算出数组有几个元素。数组的具体用法与C语言并无太大差别,也可以用for循环对其遍历。


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值