前言
在《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="提交"> <input type="reset" name="submit2" value="重置"></td> </tr> </table> </form> <"Content-Type:text/html; charset=gb2312"); "text-align: center">获取表单数据
表单数据的获取主要有两个钟方式分别是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> <"Content-Type:text/html; charset=gb2312"); "text-align: center">点击提交按钮后,我们发现地址栏不会显示我们提交的参数。
使用GET方法提交表单
GET方法是<form>表单中method属性的默认方法。使用GET方法提交的表单数据被附加到URL后,并作为URL的一部分发送到服务器端。在程序的开发过程中,由于GET方法提交的数据是附加到URL上发送的,因此,在URL的地址栏中将会显示“URL+用户传递的参数”。
将上面示例中的<form>表单中method属性指定为get,运行程序后的结果如下:
点击按钮后地址栏会通过‘?'连接键值对,键值对以‘&'分隔。
PHP参数传递的常用方法
获取表单数据,实际上就是获取不同的表单元素的数据。<form>标签中的name是所有表单元素都具备的属性,即为这个表单元素的名称,在使用时需要使用name属性来获取相应的value属性值。
PHP参数传递的常用方法有三种:
- $_POST[]全局变量
- $_GET[]全局变量
- $_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> <"Content-Type:text/html; charset=gb2312"); $value=$_POST['code']; echo "编号:".$value; "text-align: center">
$_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> <"Content-Type:text/html; charset=gb2312"); $value=$_GET['code']; echo "编号:".$value; "text-align: center">
$_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="提交"> <input type="reset" name="submit2" value="重置"></td> </tr> </table> </form> <"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']; } "text-align: center">通过move_uploaded_file方法将图片上传到当前路径下的upfiles文件夹中。
无为清净楼资源网 Design By www.qnjia.com广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com无为清净楼资源网 Design By www.qnjia.com暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】
- 谭咏麟.2022-倾·听【环球】【WAV+CUE】
- 4complete《丛生》[320K/MP3][85.26MB]
- 4complete《丛生》[FLAC/分轨][218.01MB]
- 羽泉《给未来的你&天黑天亮》[WAV+CUE][968M]
- 庄心妍《我也许在等候》[低速原抓WAV+CUE]
- 王雅洁《小调歌后2》[原抓WAV+CUE]