PHP与Web页面的交互示例详解二


Posted in PHP onAugust 04, 2020

前言

在《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>
<?php
header("Content-Type:text/html;  charset=gb2312");
?>>
</body>
</html>

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

运行结果:

PHP与Web页面的交互示例详解二

获取表单数据

表单数据的获取主要有两个钟方式分别是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>

运行结果:

PHP与Web页面的交互示例详解二

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

使用GET方法提交表单

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

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

PHP与Web页面的交互示例详解二

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

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>

运行结果:

PHP与Web页面的交互示例详解二

$_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>

运行结果:

PHP与Web页面的交互示例详解二

$_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>
<?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>

运行结果:

PHP与Web页面的交互示例详解二

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

到此这篇关于PHP与Web页面的交互示例详解二的文章就介绍到这了,更多相关PHP与Web页面的交互内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
PHP XML备份Mysql数据库
May 27 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
php流量统计功能的实现代码
Sep 29 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
PHP与Web页面的交互示例详解一
Aug 04 #PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 #PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
Aug 03 #PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 #PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 #PHP
PHP生成图表pChart的示例解析
Jul 31 #PHP
基于php伪静态的实现方法解析
Jul 31 #PHP
You might like
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Python实现爬取并分析电商评论
2020/06/19 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
护士专业推荐信
2013/11/02 职场文书
销售副总经理岗位职责
2013/12/11 职场文书
学生安全教育材料
2014/02/14 职场文书
党员入党表决心的话
2014/03/11 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
自书遗嘱范文
2015/08/07 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android
Python中super().__init__()测试以及理解
2021/12/06 Python
Python requests用法和django后台处理详解
2022/03/19 Python