(基础篇)PHP与Web页面交互

PHP与Web页面交互是实现PHP网站与用户交互的重要手段。在PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递。

这里我们将详细讲解表单的相关知识,为以后学习PHP页面交互做好铺垫。

1 、创建表单

Web表单的功能是让浏览者和网站有一个互动的平台。Web表单主要用来在网页中发送数据到服务器,如提交注册信息时需要使用表单。当用户填写完信息后执行提交(submit)操作,于是将表单中的数据从客户端的浏览器传送到服务器端,经过服务器端PHP程序进行处理后,再将用户所需要的信息传递回客户端的浏览器上,从而获得用户信息,使PHP与Web表单实现交互。使用<form>元素,在HTML标记间插入表单元素,即可创建一个表单。

代码片段

<form name="form_name" method="method" action="url" enctype="value" target="target_win" id="id">

……

</form >


属性


说明


name


表单名


method


设置表单的提交方式,即GET或则POSt(GET方法将表单内容附加在URL地址后面。POST方法将表单中的信息作为一个数据发送到服务器处理程序中,在浏览器的地址栏不显示提交的信息。Method默认为get)


action


设置表单数据提交的URL(相对位置或则绝对位置)


enctype


指定数据传送到服务器时浏览器使用的编码类型(用于对表单内容进行编码的 MIME 类型。)


target


设置返回信息的显示格式

application/x-www-form-urlencoded 默认的MIME类型,表示表单数据应该被编码成一个长串。

Multipart/form-data:上传文件专用类型,表示将每一个编码作为一个独立的部分使用。

Text/plain:将表单数据提交给一个电子邮件地址,数据以纯文本形式进行编码,其中不含任何控件或格式字符。

target属性值:

<form>标记中target属性的设置,可以控制提交页在窗口中的打开方式。

_blank:将返回页面信息显示在新的窗口中。

_parent:将返回信息显示在父级窗口中。

_self:将返回信息显示在当前窗口中。

_top:将返回信息显示在顶级窗口中。

在使用form表单时,必须要指定其行为属性action,它指定表单提交数据的处理页。GET方法是将表单内容附加在URL地址后面;POST方法是将表单中的信息作为一个数据块发送到服务器上的处理程序中,在浏览器的地址栏不显示提交的信息。method属性默认为GET方法。

2 、认识表单元素

表单由表单元素组成。常用的表单元素有以下几种标记:输入域标记<input>、选择域标记<select>和<option>、文本域标记<textarea>等。下面分别进行介绍。

2.1 输入域标记<input>

输入域标记<input>是表单中最常用的标记之一。常用的文本域、按钮、单选按钮及复选框等构成了一个完整的表单。

参数name是指输入域的名称,参数type是指输入域的类型。在<input type=" ">标记中一共提供了10种类型的输入区域,用户所选择使用的类型由type属性决定。type属性取值及举例如表所示。

2.2 选择域标记<select>和<optiom>

通过选择域标记<select>和<option>可以建立一个列表或者菜单。菜单节省空间,正常状态下只能看到一个选项,单击按钮打开菜单后才能看到全部的选项。列表可以显示一定数量的选项,如果超出了这个数量,会自动出现滚动条,浏览者可以通过拖动滚动条来查看各选项。

语法:

参数name表示选择域的名称;参数size表示列表的行数;参数value表示菜单选项值;参数multiple表示以菜单方式显示数据,省略则以列表方式显示数据。

2.3 文本域标记<textarea>

文本域标记<textarea>用来制作多行的文本域,可以在其中输入更多的文本。

参数name表示文本域的名称;rows表示文本域的行数;cols表示文本域的列数(这里的rows和cols以字符为单位);value表示文本域的默认值。warp用于设定显示和送出时的换行方式,值为off表示不自动换行;值为hard表示自动按Enter键换行,换行标记一同被发送到服务器,输出时也会换行;值为soft表示自动按Enter键换行,换行标记不会被发送到服务器,输出时仍然为一列。

3 、在Web页面中创建表单

在一个Web页面中,允许有多个表单,在编写代码时,由表单的name和ID属性值对各个表单进行区分。

4 、在Web页面中嵌入PHP脚本

在Web页中嵌入PHP脚本的方法有两种:一种是直接在HTML标记中添加"<?php?>"PHP标记符,写入PHP脚本;另二种是对表单元素的value属性进行赋值。下面分别对这两种方法进行讲解。

4.1 直接添加标记符

在Web编码过程中,通过在HTML标记中添加PHP脚本标记"<?php ?>"来嵌入PHP脚本,两个标记之间的所有文本都会被解释为PHP语言,而标记之外的任何文本都会被认为是普通的HTML。

4.2 为表单赋值

在Web程序开发过程中,为了使表单元素在运行时有默认值,通常需要对表单元素的value属性进行赋值。下面通过具体的实例讲解赋值的方法。

5 、提交表单数据

交表单数据有两种方法:POST方法和GET方法。采用哪种方法提交表单数据由<form>表单的method属性值决定。下面详细讲解这两种提交表单数据的方法。

5.1 POST方法

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

<body>

   <form name="example" method="post"action="success.php">

       姓名:<inputtype="text" name="name"/>  <br/>

       密码 :<input type="password" name="password"/>

                    <inputtype="submit" value="提交"/>

   </form>

</body>

 

5.2 GET方法

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

<body>

   <form name="example" method="get"action="success.php">

       姓名:<inputtype="text" name="name"/>  <br/>

       密码 :<input type="password" name="password"/>

                    <inputtype="submit" value="提交"/>

   </form>

</body>

显而易见,这种方法会将参数暴露无疑。如果用户传递的参数是非保密性的参数(如id=8),那么采用GET方法传递数据是可行的;如果用户传递是保密性的参数(如用户登录的密码,或者信用卡号等),这种方法就会不安全。解决该问题是将表单的method指定的GET方法改为POST方法。

注意:若要使用GET方法发送表单,URL的长度应限制在1MB字符以内。如果发送的数据量太大,数据将被截断,从而导致意外或失败的处理结果。

6 、POST方法与GET方法的使用区别

在浏览器中向服务器发送表单数据的方法有两种,即POST方法和GET方法。这两种方法在Web页面的应用上有着本质的不同。

POST方法发送变量数据时,对于用户而言是保密性质的。从HTTP协议来看,数据附加于header的头信息中,用户不能随意修改,这对于Web应用程序而言,安全性要好得多,而且使用POST方法向Web服务器发送数据的大小不受限制。

GET方法是在访问URL时使用浏览器地址栏传递值。GET方法方便直观,但缺点是访问该网站的用户也可以修改URL串后发送给服务器,GET传递的字符串长度有一定的限制,不能超过250个字符,如果超长,浏览器会自动截取,导致数据丢失或程序运行出错。另外,GET方法不支持ASCII字符之外的任何字符,如果包含有汉字或其他非ASCII字符,需要应用PHP的内置函数将参数值转换成其他编码格式进行传递。

因此,在网站开发过程中,程序员应根据实际需要灵活地选择POST方法和GET方法来提交表单数据。

7 、POST方法与GET方法的使用区别

PHP的全局变量有3种:$_POST[ ]、$_GET[ ]和$_SESSION[ ],分别用于获取表单、URL、Session变量的值。这3种方法在使用上有很大的区别,下面分别进行详细介绍。

7.1 $_POST[ ]全局变量

使用PHP的$_POST[]全局变量可以获取表单元素的值。在实际程序开发过程中,使用哪种方法获取数据资源,是由<form>表单元素的method属性决定的。如果表单中method属性指定的是用POST方法进行数据传递,那么在处理数据时就应该使用$_POST[ ]全局变量获取表单数据。

通过$_POST[ ]全局变量获取表单数据,实际上就是获取不同的表单元素的数据。<form>标签中的name是所有表单元素都具备的属性,即为这个表单元素的名称,在使用时需要使用name属性来获取相应的value属性值。所以添加的所有控件必须定义其name属性值,另外,为了避免获取的数据出现错误,表单元素在命名上尽可能不要重复,尽量使用具有一定意义的英文缩写或拼音命名。

7.2 $_GET[ ]全局变量

PHP使用$_GET[]全局变量获取通过GET方法传递的值,使用格式为:

$_GET[name]

例如,创建一个表单,设置method属性值为GET,添加一个文本框,name为user,获取表单元素值的代码如下。

注意:PHP可以应用$_POST[]或$_GET[]全局变量来获取表单元素的值。但值得注意的是,获取的表单元素名称区分字母大小写。如果在编写Web程序时忽略字母大小写,那么在程序运行时将获取不到表单元素的值或弹出错误提示信息。

7.3 $_SEESION[ ]全局变量

使用$_SEESION[]变量可以跨页获取变量的值,格式为:

$_SEESION[name]

在PHP动态页中,可以将变量或者表单元素的值赋值给$_SEESION[]全局变量,进而实现变量值或者表单元素值的跨页传递。

例如,建立一个表单,添加一个文本框,命名为user,应用$_SEESION[]全局变量获取表单元素的代码如下。

代码片段

$user=$_SESSION["user"]

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

时间: 2024-10-13 02:59:16

(基础篇)PHP与Web页面交互的相关文章

PHP入门(7)PHP与Web页面交互

PHP提供了两种与Web页面交互的方式 通过Web表单提交数据 通过URL参数传递 首先谈以下通过表单与web页面交互 <form name="" method="post|get" action="url"></form> 表单的提交方式有两种post get,通过form的method指定 post:将表单中的数据作为一个数据块发送到服务器上的处理程序.这种方法较为安全,数据是附加在header的头信息中,用户不能随意

php与web页面交互(二)

一.获取表单数据 1.1 使用POST()方法提交表单  ---POST()方法可以没有限制地传递数据到服务器,所提交的数据在后台传输,用户在浏览器端是看不到这一过程的,安全性高,适用于发送保密数据和大容量数据到服务器. 范例: 1 <form name="form1" method="post" action="index2.php"> 2 <table border="1" width="400

(基础篇)PHP与JavaScript交互

一.了解javascript Javascript是脚本编程语言,支持WEB应用程序的客户端和服务器端构件的开发,在WEB系统中得到了非常广泛的应用. 1. 什么是javascript Javascript是由netscape communication corporation (网景公司)开发的,是一种基本对象和事件驱动并具有安全性能的解释型脚本语言. 它不但可用于编写客户端脚本程序,由WEB浏览器解释执行;而且还可以编写在服务器端执行的脚本程序,在服务器端处理用户提交的信息并动态地向浏览器返

Hybrid APP基础篇(二)-&gt;Native、Hybrid、React Native、Web App方案的分析比较

说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid App React Native App 分析 各大开发模式直观对比 如何选择开发模式 另类的app方案 微网页 微信小程序 其它 前言 参考来源 前人栽树,后台乘凉,本文参考了以下来源 对当前主流hybrid app.web app与native app工具的初步比较与分析 H5.React Nati

Python开发【第二十一篇】:Web框架之Django【基础】

Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-a

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

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51761308 本文出自:[顾林海的博客] 前言 在<PHP学习笔记-PHP与Web页面的交互1>笔记中讲解了form表单的一些属性,包括它的输入域标记.选择域标记和文字域标记的写法,接下来的内容就是讲如何获取表单数据以及PHP数据的传递,包括对各种控件值的获取. 插入表单 提交表单之前一定得有表单,当我们的表单创建完毕后可以将表单插入Web页中,代码如下: <

做web开发需要学习哪些技术--基础篇

做一个web网站,包含哪些技术,自己需要学习哪些技术 自己想到哪里就写到哪里 -- 给自己做的一个记录 1: 页面的展示, 一个web的开发语言  1.1 一个web的开发语言需要注意哪方面,才能符合你的网站业务发展     1:语言的选择     2:框架的设计 - 怎么符合未来业务的发展     3:对于业务的了解     4:了解http协议      那么就要了解tcp/ip协议 3: web安全     web安全又有哪些方面需要注意的呢     3.1 xss     3.2 sql

(转)Django学习之 第三章:动态Web页面基础

上一章我们解释了怎样开始一个Django项目和运行Django服务器 当然了,这个站点实际上什么也没有做------除了显示了"It worked"这条信息以外. 这一章我们介绍怎样使用Django创建动态网页 你的第一个视图:动态内容 让我们创建一个显示当前日期和时间的Web页面来作为你的第一个目标 这是一个动态Web页面的例子,因为页面内容根据计算当前时间而变化 这个例子不需要数据库和任何用户输入,只是输出服务器内部时钟 我们将写一个视图方法,它只是一个Python方法,接受Web

web工作原理及http协议(基础篇)

web工作原理及http协议(基础篇)1.常见的应用架构(1)C/S?全称client/sever,即客户端/服务器C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,用户表示层,需要程序员自己写客户端:第二层是通过网络结合了数据库服务器,数据库层.(2)B/S?全称Browser/Server,即浏览器/服务器只要有浏览器就可以打开2.WEB工作原理HTTP处理流程:建立连接-->客户端浏览器发送请求信息--->web服务器解析请求并找到