转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/51761308
本文出自:【顾林海的博客】

前言

在《PHP学习笔记-PHP与Web页面的交互1》笔记中讲解了form表单的一些属性,包括它的输入域标记、选择域标记和文字域标记的写法,接下来的内容就是讲如何获取表单数据以及PHP数据的传递,包括对各种控件值的获取。

插入表单

提交表单之前一定得有表单,当我们的表单创建完毕后可以将表单插入Web页中,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>在普通的Web页中插入表单</title>
<style type="text/css">
body,td,th {font-size: 12px;
}
</style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data"><table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999"><tr bgcolor="#FFCC33"><td width="103" height="25" align="right">商品名称:</td><td  height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">市场:</td><td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>海外<input type="radio" name="from" value="国内">国内</td></tr><tr bgcolor="#FFCC33"><td width="103" height="25" align="right">编号:</td><td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20" maxlength="100"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">种类:</td><td height="25" colspan="2" align="left"><select name="select"><option value="电器">电器</option><option value="家具">家具</option><option value="化妆品">化妆品</option><option value="图书" selected>图书</option><option value="服饰">服饰</option><option value="宠物">宠物</option><option value="计算机">计算机</option></select></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">商品图片: </td><td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000" id="photo"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">商品描述: </td><td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea></td></tr><tr align="center" bgcolor="#FFCC33"><td height="25" colspan="3"><input type="submit" name="submit" value="提交">&nbsp;&nbsp;<input type="reset" name="submit2" value="重置"></td></tr></table>
</form>
<?php
header("Content-Type:text/html;   charset=gb2312");
?>>
</body>
</html>

在HTML的<body></body>间添加一个表单。

运行结果:

获取表单数据

表单数据的获取主要有两个钟方式分别是POST()方法和GET()方法。

通过<form>表单的method属性所指定。

使用POST方法提交表单

应用POST方法时,只需将<form>表单中的属性method设置成POST即可。POST方法不依赖于URL,不会显示在地址栏。POST方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性高。所以POST方法比较适合用于发送一个保密的(如信用卡号)或者容量较大的数据到服务器。

示例:

<!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=gb2312"/><title>PHP语言基础</title></head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data"><table width="300" border="1" cellpadding="10" cellspacing="0"><tr><td height="30">编号:<input type="text" name="code" size="20"/><input type="submit" name="subimt" value="提交"/></td></tr></table>
</form>
<?php
header("Content-Type:text/html;   charset=gb2312");
?>
</body>
</html>

运行结果:

点击提交按钮后,我们发现地址栏不会显示我们提交的参数。

使用GET方法提交表单

GET方法是<form>表单中method属性的默认方法。使用GET方法提交的表单数据被附加到URL后,并作为URL的一部分发送到服务器端。在程序的开发过程中,由于GET方法提交的数据是附加到URL上发送的,因此,在URL的地址栏中将会显示“URL+用户传递的参数”。

将上面示例中的<form>表单中method属性指定为get,运行程序后的结果如下:

点击按钮后地址栏会通过‘?’连接键值对,键值对以‘&’分隔。

PHP参数传递的常用方法

获取表单数据,实际上就是获取不同的表单元素的数据。<form>标签中的name是所有表单元素都具备的属性,即为这个表单元素的名称,在使用时需要使用name属性来获取相应的value属性值。

PHP参数传递的常用方法有三种:

  1. $_POST[]全局变量
  2. $_GET[]全局变量
  3. $_SESSION[]变量

$_POST[]全局变量

使用PHP的$_POST[]预定义变量可以获取表单元素的值,格式为:

$_POST[name]

范例:

<!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=gb2312"/><title>PHP语言基础</title></head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data"><table width="300" border="1" cellpadding="10" cellspacing="0"><tr><td height="30">编号:<input type="text" name="code" size="20"/><input type="submit" name="subimt" value="提交"/></td></tr></table>
</form>
<?php
header("Content-Type:text/html;   charset=gb2312");
$value=$_POST['code'];
echo "编号:".$value;
?>
</body>
</html>

运行结果:

$_GET[]全局变量

PHP使用$_GET[]预定义变量获取通过GET方法传过来的值,使用格式为:

     $_GET[name]

范例:

<!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=gb2312"/><title>PHP语言基础</title></head>
<body>
<form action="index.php" method="get" name="form1" enctype="multipart/form-data"><table width="300" border="1" cellpadding="10" cellspacing="0"><tr><td height="30">编号:<input type="text" name="code" size="20"/><input type="submit" name="subimt" value="提交"/></td></tr></table>
</form>
<?php
header("Content-Type:text/html;   charset=gb2312");
$value=$_GET['code'];
echo "编号:".$value;
?>
</body>
</html>

运行结果:

$_SESSION[]变量

使用$_SESSION[]变量可以获取表单元素的值,格式为:

$_SESSION[name]

使用$_SESSION[]传参的方法获取的变量值,保存之后任何页面都可以使用。但这种方法很耗费系统资源,建议读者慎重使用。

案例

最后结合笔记中的第一个demo写一个完整的案例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>在普通的Web页中插入表单</title><style type="text/css">body, td, th {font-size: 12px;}</style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data"><table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999"><tr bgcolor="#FFCC33"><td width="103" height="25" align="right">商品名称:</td><td height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">市场:</td><td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>海外<input type="radio" name="from" value="国内">国内</td></tr><tr bgcolor="#FFCC33"><td width="103" height="25" align="right">编号:</td><td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20"maxlength="100"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">种类:</td><td height="25" colspan="2" align="left"><select name="select"><option value="电器">电器</option><option value="家具">家具</option><option value="化妆品">化妆品</option><option value="图书" selected>图书</option><option value="服饰">服饰</option><option value="宠物">宠物</option><option value="计算机">计算机</option></select></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">商品图片:</td><td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000"id="photo"></td></tr><tr bgcolor="#FFCC33"><td height="25" align="right">商品描述:</td><td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea></td></tr><tr align="center" bgcolor="#FFCC33"><td height="25" colspan="3"><input type="submit" name="submit" value="提交">&nbsp;&nbsp;<input type="reset" name="submit2" value="重置"></td></tr></table>
</form>
<?php
header("Content-Type:text/html;   charset=gb2312");if ($_POST[submit] != "") {echo "商品清单:";echo " <br><br>商品名称:" . $_POST['product'];echo " <br><br>    市场:" . $_POST[from];echo " <br><br>    编号:" . $_POST['code'];echo " <br><br>    种类:" .$_POST['select'];$path = './upfiles/'. $_FILES['photo']['name'];move_uploaded_file($_FILES['photo']['tmp_name'],$path);echo " <br><br>商品图片:" .$path;echo " <br><br>商品描述:" .$_POST['intro'];
}?>
</body>
</html>

运行结果:

通过move_uploaded_file方法将图片上传到当前路径下的upfiles文件夹中。

PHP学习笔记-PHP与Web页面的交互2相关推荐

  1. PHP学习笔记-PHP与Web页面的交互1

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51660273 本文出自:[顾林海的博客] 前言 这篇笔记记录的是Web ...

  2. Web Components 学习笔记一: Web Components是什么?解决了什么问题?

    公众号:妙蛙种子前端 文章原文地址:Web Components笔记一: Web Components是什么?解决了什么问题? | 妙蛙种子 - 记录WEB前端技术学习成长过程的博客 Web Comp ...

  3. 「学习笔记」移动Web开发之flex布局9

    「学习笔记」移动Web开发之flex布局9 一.flex布局体验 1.1 传统布局与flex布局 1.2 初体验 二.flex布局原理 2.1 布局原理 三.flex布局父项常见属性 3.1 常见父项 ...

  4. 「学习笔记」移动Web开发之rem适配布局10

    「学习笔记」移动Web开发之rem适配布局10 一.rem单位 1.1 rem 单位 二.媒体查询 2.1 什么是媒体查询 2.2 语法规范 2.2.1 mediatype 查询类型 2.2.2 关键 ...

  5. Tomcat学习笔记01【Web相关概念、Tomcat基本操作】

    Java后端 学习路线 笔记汇总表[黑马程序员] Tomcat学习笔记01[Web相关概念.Tomcat基本操作][day01] Tomcat学习笔记02[Tomcat部署项目][day01] 目录 ...

  6. 1.PHP与Web页面的交互

    一.概览: PHP是一种专门用于Web开发的服务器端脚本语言.从这个描述可以知道,PHP要打交道的对象主要有服务器(Server),和基于Web的HTML(超文本标识语言).使用PHP处理Web应用时 ...

  7. 怎么用php配合js编写动态页面_JavaScript_JavaScript教程:用JS脚本实现Web页面信息交互范例,要实现动态交互,必须掌握有 - phpStudy...

    要实现动态交互,必须掌握有关窗体对象(Form)和框架对象(Frames)更为复杂的知识. 三.范例 下面我们演示通过点击一个按钮(red)来改变窗口颜色,点击"调用动态按钮文档" ...

  8. Qml学习笔记:cpp与qml的交互调用方式

    Qml学习笔记:cpp与qml的交互调用方式 如何用在cpp中调用qml的方法 main.qml main.cpp 如何在qml中调用C++的方法函数 main.cpp main.qml 如何使用qm ...

  9. 我的学习笔记005--常见web前台技术之间的关系html,css,javascript...mxx

    在网上浏览到这篇博客本来想自己总结但是发现人家写的已经想当好了,让我想精简也无法精简那就挑选我认为重点的东西赋值粘贴 过来 如果你是一个Web开发初学者,那么你难免会在网上搜索HTML, CSS, X ...

最新文章

  1. Numpy入门教程:02. 索引、切片与迭代
  2. 3D点云two-stage目标检测方法优化综述
  3. 廉洁修身论文2000字_自主招生论文发表要求【期刊论文】自主招生论文发表要求...
  4. 服务器内存一般多大_各类网站服务器内存多大才合适?
  5. Tesseract-OCR 字符识别---样本训练 [转]
  6. Django从理论到实战(part31)--Django数据库查询操作
  7. 最短路径生成树计数+最短路径生成树
  8. powershell XML数据保存为HTML
  9. 体制内工作了十几年,跳出来学嵌入式合适吗?
  10. 一张图读懂MVC设计模式,从用户发起请求到获取响应,应用内部到底是如何数据流转、业务串联的
  11. Atitit mysql insert perf enhance 批量插入数据库性能 目录 1.1. 案一:使用ignore关键字 1 2. 异步插入 2 2.1. 其它关键:DELAYED  做为
  12. centos6.5系统执行mv /* /path,只能用cd命令,如何恢复
  13. 从计算、建模到回测:因子挖掘的最佳实践
  14. 快速解决打印机后台程序服务没有运行的问题
  15. 【chm】Python提取chm数据
  16. OSChina 周二乱弹 ——我FFFF……佛慈悲
  17. 分析如烹饪:让我们一起做数据大厨吧!
  18. 将服务器的EDT(美国时间)或者EST(英国时间)修改为CST(中国时间)
  19. MyBatisCodeHelper-Pro2.8.2
  20. 谈谈我的学习工作经历,自学linux去中兴上班

热门文章

  1. httpd服务器常见漏洞修复,网站安全监测以及漏洞修复过程
  2. wxpython 内嵌字体_【wxPython】wx.font类字体
  3. js:如何在循环异步请求的每次返回中添加想要的值
  4. See the World 2015-6-10
  5. Android 唯一标识获取
  6. flex Vector
  7. Landsat 8 OLI_TIRS 卫星数字产品
  8. 经典网页设计:20个与众不同的 Flash 网站设计作品
  9. 关于Android模拟器访问本地地址(转)
  10. Cassandra使用 —— 一个气象站的例子