之前我们在HTML表单学习这篇文章里面创建了一个HTML页面下的表单。

这个表单是用户用来输入数据的

具体代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body> <h1>用户登录</h1> <form name="input" action="action.php" method="post"> 账号:<input type="text" name="user"><br><br>
密码:<input type="password" name="pwd"><br><br>
性别: <input type="radio" name="sex" value="man">男
<input type="radio" name="sex" value="woman">女
<br><br>
爱好: <input type="checkbox" name="hobby[]" value="basketball">篮球
<input type="checkbox" name="hobby[]" value="football">足球
<input type="checkbox" name="hobby[]" value="badminton">羽毛球
<br><br>
<input type="submit" value="提交"> </form> </body>
</html>

我们看到在表单标签里面有两个属性,其中一个是action,另外一个是method

当我们点击submit按钮之后,这些内容会传送到action指定的php文件。

而在PHP中有一个超级全局变量$_POST

这个超级全局变量$_POST就是PHP用来接收表单数据的,不过要在表单属性method中指定post,它才会实现接收的功效。

然后下面我们给出action.php文件的内容:

<?php
$user = $_POST['user'];
$pwd = $_POST['pwd'];
$sex = $_POST['sex'];
$hobby=isset($_POST['hobby'])?$_POST['hobby']:""; echo "您的账号是:",$user,"<br>";
echo "您的密码是:",$pwd,"<br>";
echo "您的性别是:",$sex,"<br>";
echo "您的爱好是: "; if(is_array($hobby)){
foreach($hobby as $x){
echo $x . " ";
}
}
?>

通过点击submit按钮,然后这些数据就被转移到action.php这个页面,我们的浏览器也就跳转到这个页面了。

可以看到我们用来接收数据的是$_POST这个变量,里面放的是表单元素的name值,就会对应的传送给PHP的这些变量了。

值得注意一点的是,我们在HTML页面里面,这个复选框的name是hobby[],因为复选框要传送多个数组,所以它的name应该是一个数组的形式。

不然的话只会传送给变量一个值,而我们需要的是复选框的一组值。

当然了,虽然复选框在HTML页面里面的name是hobby[]

但是我们在接收的时候仍然是$_POST['hobby'],这个东东实际上已经是一个数组了。

这个时候我们需要做一个保护措施,为了防止有的时候我们的复选框是什么都没有选的空值,而不是一个数组,这个时候我们就做一个检验

$hobby=isset($_POST['hobby'])?$_POST['hobby']:"";

isset() 函数用于检测变量是否已设置并且非 NULL。

如果是空的话呢,那么$hobby也就赋予空值了,如果不空,那么$hobby这个变量得到的就是复选框的整个数组的内容了。

然后我们用一个foreach循环来输出一下这个数组,展示出来。

if(is_array($hobby)){
foreach($hobby as $x){
echo $x . " ";
}
}

is_array() 函数用于检测变量是否是一个数组,如果是一个数组的话呢,就展示出来,如果不是一个数组的话呢,就不做任何动作。

PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性

好了,到了这里,我们的第一个HTML和PHP的交互案例已经做完了。

这也是我们的第一个前端和后端的一个交互案例。

HTML是前端,作为客户的浏览界面,PHP是在服务器端执行的程序,是后端,这就通过案例加深我们对前端和后端,浏览器端和服务器端的理解。

然后做完这个交互之后,我们接下来要做的就是PHP和MYSQL之间的交互,也就是说,要基于这个案例,把PHP的值保存到服务器端的数据库中去。

要知道,如果不进行保存的话,那么我们每次得到的数据就会消失,只有保存下来,这些数据才不会消失,那么我们每次打开一个网页的时候,就会展示我们之前的所有内容

好,我们下一个随笔就开始写PHP和MYSQL的交互。

最新文章

  1. python windows时间同步工具
  2. jQuery之on
  3. SQL Server 2012 安装图解教程
  4. CSS3实现阴阳鱼
  5. [Kerberos] Java client访问kerberos-secured cluster
  6. python实现学生选课系统 面向对象的应用:
  7. MT写的对URL操作的两个方法
  8. java 关键字 transient
  9. 枚举GC Roots的实现
  10. SQL GUID和自增列做主键的优缺点
  11. [HZNUOJ1524]排队买票(DP)
  12. Android List去掉重复数据
  13. IOS 上传头像-b
  14. stat 的名字接口
  15. ZOJ3805:Machine
  16. poj2502最短路!
  17. day9集合以及这段时间的总结 未完待续
  18. Java中的StringBuffer
  19. C#配置文件config的使用
  20. MySql 从SQL文件导入

热门文章

  1. 部署CDH集群环境准备
  2. python jinjia2 高级
  3. PLC转OPC UA的协议转换网关需要多少钱呢?
  4. LeetCode题解-20.有效的括号
  5. SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
  6. OpenCV4之C++入门详解
  7. Webstorm设置背景图为Windows桌面背景
  8. cad开发动态块对应的界面
  9. JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)
  10. 刷题记录:LC1997-访问完所有房间的第一天