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 相关文章推荐
PHP 数组教程 定义数组
Oct 23 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
php preg_filter执行一个正则表达式搜索和替换
Feb 27 PHP
php中大括号作用介绍
Mar 22 PHP
apache mysql php 源码编译使用方法
May 03 PHP
php使用递归计算文件夹大小
Dec 24 PHP
php模拟post上传图片实现代码
Jun 24 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 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 数组和字符串互相转换实现方法
2013/03/26 PHP
基于php下载文件的详解
2013/06/02 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
js实现简单的轮播图效果
2020/12/13 Javascript
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
python reduce 函数使用详解
2017/12/05 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Django实现内容缓存实例方法
2020/06/30 Python
社保委托书怎么写
2014/08/02 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers