`
mars李
  • 浏览: 50226 次
  • 性别: Icon_minigender_1
  • 来自: 柳州
社区版块
存档分类
最新评论

PHP入门二

    博客分类:
  • PHP
阅读更多
表单处理

  PHP为用户提供了众多方便易用的强大功能。在表单的处理方面,PHP能够自动地将由客户端表单发送的数据赋值给相应变量,从而极大地简化了整个表单的处理过程。

举例来说,用户建立如下表单:

< INPUT TYPE=TEXT NAME=“name” VALUE=“PETER” >

当使用PHP对上述代码进行处理时,PHP自动创建一个名为$name的变量,并将变量值“PETER”赋予该变量。

用户可以直接对PHP创建的变量进行各种操作,例如显示变量值:

echo “Hi $name!”;

或对变量值进行验证:

if ($name == “PETER”) { echo “Please check out your email.”; }

  下面,我们就来看一下如何通过使用PHP创建并处理一个基本的表单。在示例当中,我们将会要求表单的填写者回答几个简短的问题,包括输入表单填写者的姓名,电子邮件地址,完成调查问卷等。

  这里,我们将所要设计的页面按照功能划分成表单显示和表单处理两个功能模块。这样,用户就不必设计两个不同的页面,而只需要在同一个PHP页面中通过逻辑控制显示或处理相应的功能模块。

A. 表单显示

我们通过第一个功能模块来实现表单的显示。具体代码为:

< ?php

function display_form()

{

global $PHP_SELF;

? >
 

< FORM TARGET=“< ?php echo $PHP_SELF; ? >”METHOD=GET >

Name: < INPUT TYPE=TEXT NAME=“name” >< BR >

Favorite Fruit: < INPUT TYPE=RADIO NAME=“fruit” VALUE=“apple” >Apple

< INPUT TYPE=RADIO NAME=“fruit” VALUE=“orange” >Orange

< INPUT TYPE=RADIO NAME=“fruit” VALUE=“banana” >Banana

Favorite Times to Eat Fruit:

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“m” >Morning

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“n” >Noon

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“d” >Dinner

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“l” >Latenight

< INPUT TYPE=HIDDEN NAME=“stage” VALUE= “results” >

< INPUT TYPE=SUBMIT VALUE= “Thanks!” >

< /FORM >
 

< ?php

}

? >

  上述代码中绝大多数都是创建表单所必需的HTML代码。在此,我们仅对所涉及到的PHP知识做一下简单介绍。

  首先,我们来看一下代码开始处的变量$PHP_SELF。变量$PHP_SELF是PHP中一个很方便的指针,其变量值就是当前页面的URL地址。这样,我们就可以通过在随后的form标签中将TARGET的值设定为$PHP_SELF,实现由该表单页面处理表单的目的。这里,我们使用$PHP_SELF变量而不使用页面的实际地址,是因为通过使用$PHP_SELF变量,我们可以方便对编写的页面代码进行修改和移动,而不必担心在每次改动之后重新输入新的页面地址。

  另外,在使用$PHP_SELF变量时,我们采用了如下方式:

global $PHP_SELF;

这表明代码中的$PHP_SELF变量为全局变量。用户在使用PHP的过程中一定要注意PHP中任何的函数变量都是局部变量。这就意味着任何函数变量的作用域都只局限于包括该变量的函数本身。即使函数外存在同名变量,变量的值也不相同。因此,如果我们没有在代码中以显式方式声明函数变量$PHP_SELF为全局变量具有全局唯一值的话,用户就会发现函数中的变量$PHP_SELF的值将会为空,而不是我们预先所期望的当前页面的URL地址。

  用户可能已经注意到我们将表单复选选项的名称设置为times[]数组,而把单选选项的名称设定为fruit常规变量。这是因为单选选项只允许用户选择唯一一个正确选项,因此fruit变量的值只可能是一个字符串;相反,复选选项则允许用户做多重性选择。如果,用户希望PHP能够保存用户可能作出的所有选择的话,就需要使用数组来保存所有的可能值。按照PHP的语法规则,我们通过在变量名times后面加上方括号,使PHP知道该变量是一个数组变量而不是普通的常规变量。

最后,我们设定了一个名为stage的隐含变量,通过使用该变量,我们可以控制是否显示表单还是处理表单结果。

B. 处理表单

我们通过页面的第二个功能模块完成对表单输入结果的处理过程。其代码如下:

< ?php

function process_form()

{

global $name;

global $fruit;

global $times;

 

if ($fruit == ‘apple’) { $fruit_message = ‘You love apple.’; }

elseif ($fruit == ‘orange’) { $fruit_message = ‘You love orange’; }

else { $fruit_message = ‘You love banana.’; }

 

$favorite_times = count($times);

 

if ($favorite_times < = 1)

{$times_message = ‘You should eat fruit more often.’;}

elseif ($favorite_times > 1 && $favorite_times < 4)

{$times_message = ‘Those are good times to eat fruit.’;}

else {$times_message = ‘You are eating too much fruit.’;}

 

echo “Hello $name.”;

echo “$fruit_message $times_message”;

}

? >

  在表单处理代码中,首先我们按照上文所介绍的$PHP_SELF变量处理方式,将我们在创建表单时所建立的变量全部声明为全局变量。接着,我们查看用户具体选择了哪一个fruit选项。然后,使用count()函数得出用户选择的复选选项的个数,然后按照该结果进行相应的判断。最后,我们输出用户的姓名以及表单处理后的信息。

C. 合并表单功能模块

  现在,我们把已经分别独立完成的两个功能模块组合在一起,同时设定两个模块之间的逻辑规则。我们可以在display_form()和process_form()之下加入以下代码:

< ?php

if (empty($stage)) { display_form(); }

else { process_form(); }

? >


  首先,我们通过empty()函数查看$stage变量的值是否为空。如果$stage变量的值为空,例如当访问者首次浏览表单页面,PHP将会运行display_form()函数,同时在客户端显示表单;如果$stage变量的值不为空,例如当用户填写完表单并返回结果后$stage变量的值为results,PHP将会运行process_form()函数,完成对表单的处理。

分享到:
评论

相关推荐

    PHP从入门到精通.pdf-入门教程.CHM

    《PHP从入门到精通》从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面...PHP入门教程 CHM 中文手册,使用很方便~ 让php初学者,找到学习的好方法,就1分,来吧。

    PHP入门经典 随书源代码

    PHP入门经典,随书源代码

    php 入门教程 pdf

    根据提供的信息,我们可以总结出以下关于PHP入门教程的关键知识点: ### PHP简介 - **定义**:PHP(Hypertext Preprocessor)是一种广泛使用的开源通用脚本语言,特别适合于Web开发,并可嵌入HTML中。 - **起源与...

    php快速入门

    ### PHP快速入门知识点详解 #### 一、PHP简介与安装配置 - **PHP定义**:PHP(Hypertext Preprocessor)是一种广泛使用的开源通用脚本语言,尤其适用于Web开发并可嵌入HTML中。语法吸收了C语言、Java以及Perl的特点...

    PHP从入门到精通

    本书从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使 用PHP进行网络开发应该掌握的各方面技术...本站提供的PHP从入门到精通第二版 pdf扫描版资源来源互联网,版权归该下载 资源的合法拥有者所有

    php入门到精通(第四版)

    《PHP入门到精通(第四版)》是一本旨在帮助初学者和有志于深入PHP编程技术的读者全面掌握PHP语言的电子书籍。该书通过详细讲解和实例演示,旨在让读者能够从零基础逐渐达到精通PHP的程度。在压缩包中,唯一的文件名...

    PHP快速入门

    《PHP快速入门:基于ThinkPHP框架的数据库操作详解》 在Web开发领域,PHP作为一种流行的服务器端脚本语言,以其简单易学、功能强大的特点深受开发者喜爱。而ThinkPHP作为一个国内广泛使用的PHP框架,更是为PHP开发...

    PHP从入门到精通3 随书光盘

    2. **函数和类**:PHP支持大量的内置函数,如字符串处理函数、数组操作函数、文件系统函数等,学习如何有效利用这些函数可以提高编程效率。同时,理解面向对象编程的概念,如类、对象、继承、封装和多态,对于编写更...

    PHP入门教程CHM版

    PHP入门教程CHM版是为初学者设计的自学参考资料,旨在帮助学习者快速掌握PHP的基础知识和编程技能。 CHM文件是“Compiled Help Manual”的缩写,它是微软的一种帮助文档格式,类似于电子书,便于读者查找和学习相关...

    PHP初级入门教程二本

    第一本教程《PHP初级入门热门教程.chm》可能涵盖以下内容: 1. **PHP基础**:介绍PHP的历史、特点以及安装配置环境,如XAMPP或WAMP服务器,确保新手能搭建起本地开发环境。 2. **PHP语法**:讲解PHP的基本语法,如...

    PHP从入门到精通课程资料+pdf

    PHP从入门到精通课程资料+pdf

    PHP从入门到精通完整笔记301页.pdf

    【PHP从入门到精通完整笔记】是一份涵盖了HTML、CSS以及PHP基础知识的全面教程,旨在帮助初学者系统地学习这三门技术。这份笔记共有301页,内容包括了HTML+CSS的前22讲以及PHP的第23至149讲。 **HTML基础知识** 1. ...

    韩顺平PHP从入门到精通完整集合(含资源)

    《韩顺平PHP从入门到精通完整集合》是一套针对初学者精心编排的PHP教程,旨在帮助新手快速掌握PHP编程语言。该教程由知名讲师韩顺平主讲,覆盖了从基础到高级的全部PHP知识体系,共分为208讲,确保学习者能够系统地...

    PHP从入门到精通 &php;和MySQL Web开发(4th)

    《PHP从入门到精通 &php;和MySQL Web开发(4th)》这本书是学习PHP编程语言和MySQL数据库集成开发的经典之作。它旨在帮助初学者快速掌握PHP基础,并逐步提升到高级应用水平,同时深入理解如何利用MySQL进行数据存储...

    PHP从入门到精通(第二版)高清版[PDF]

    《PHP从入门到精通(第二版)》是一本旨在帮助初学者快速掌握PHP编程语言的专业教程。这本书以清晰易懂的方式介绍了PHP的基础概念、语法结构以及高级应用,旨在让读者从零基础逐步成长为PHP开发的高手。PDF版本的高清...

    达内php从入门到精通(全).zip

    2. PHP环境搭建: 学习PHP的第一步是搭建开发环境,通常包括安装PHP解释器(如PHP-FPM)、Web服务器(如Apache或Nginx)以及数据库管理系统(如MySQL)。此外,还需要配置好环境变量和服务器配置文件,确保PHP程序...

    php4快速入门PDF

    **PHP4快速入门知识点概述** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中。PHP4是PHP的一个早期版本,虽然现在已经被较新的PHP7系列取代,但对于初学者来说...

    php入门很简单.zip

    本文将深入探讨PHP的入门要点,帮助你快速掌握这一强大的编程工具。 一、PHP的起源与应用 PHP由Rasmus Lerdorf于1994年首次创建,起初是用来追踪他的在线简历的访问者。随着时间的推移,PHP发展成为一个功能丰富的...

    php网络编程从入门到精通.rar

    《PHP网络编程从入门到精通》是一套全面深入学习PHP网络编程的教程,旨在帮助初学者和有一定基础的开发者系统地掌握PHP在网络开发中的应用。本教程通过生动的动画演示和配套的源代码,使学习过程更为直观和实践性强...

    php入门课件2

    php入门课件2php入门课件2php入门课件2php入门课件2php入门课件2php入门课件2

Global site tag (gtag.js) - Google Analytics