仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1554|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之用php做一个复杂的表单

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:27:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-   PHP最有效的特征之一是它可以主动将表单中的变量值付与PHP变量。这使得表单处置变得十分快捷。



因而,假如你送出一个内含输出栏位值的表单以下:

<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">

当你用PHP处置此页面,$name变量的值就会是 Glen Morris。

因而,你可以用以下的体例把值打印出来:

echo "Hi $name!";

或像如许测试其值:

if ($name == "Glen Morris") { echo "Please check your email."; }

这有一个用PHP处置根基表单的很好办法。例如,咱们需求做一个复杂的问卷查询拜访,请求填写者必需填写他们的姓名,电子邮件地址,并回覆一些咱们感乐趣的成绩。

起首,咱们会将页面拆成两个函数。因而,咱们只需求写一个 PHP页面并用法式逻辑去掌握对用户的显示内容就能够了,而不是写两个独自的网页(一个针对表单局部,别的一个针对处置表单的CGI剧本)。

显示表单
第一个函数用来显示表单:

<?php

functiondisplay_form() {

global $PHP_SELF;

?>

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

Name: <INPUT TYPE=TEXT NAME="name"><BR>

Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie

<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar

<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella

Favorite Times to Eat Cheese:

<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">Late night

<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">

<INPUT TYPE=SUBMIT VALUE="Thanks!">

</FORM>

<?php

}

?>
PHP最有效的特征之一是它可以主动将表单中的变量值付与PHP变量。这使得表单处置变得十分快捷。



因而,假如你送出一个内含输出栏位值的表单以下:

<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">

当你用PHP处置此页面,$name变量的值就会是 Glen Morris。

因而,你可以用以下的体例把值打印出来:

echo "Hi $name!";

或像如许测试其值:

if ($name == "Glen Morris") { echo "Please check your email."; }

这有一个用PHP处置根基表单的很好办法。例如,咱们需求做一个复杂的问卷查询拜访,请求填写者必需填写他们的姓名,电子邮件地址,并回覆一些咱们感乐趣的成绩。

起首,咱们会将页面拆成两个函数。因而,咱们只需求写一个 PHP页面并用法式逻辑去掌握对用户的显示内容就能够了,而不是写两个独自的网页(一个针对表单局部,别的一个针对处置表单的CGI剧本)。

显示表单
第一个函数用来显示表单:

<?php

functiondisplay_form() {

global $PHP_SELF;

?>

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

Name: <INPUT TYPE=TEXT NAME="name"><BR>

Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie

<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar

<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella

Favorite Times to Eat Cheese:

<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">Late night

<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">

<INPUT TYPE=SUBMIT VALUE="Thanks!">

</FORM>

<?php

}

?>



起首,好像咱们处置$PHP_SELF一样,咱们获得表单外面的全局变量。然后反省cheese选项中哪个被选中以按选择创立回应。



上面,咱们利用count()函数,以盘算被选为喜欢时段的时段数。在曩昔,必需经由过程反省$cheese每个能够的值来完成,而如今咱们只需使用大于、小于来对照$favorite_times的巨细就能够了。假如你但愿晓得“$favorite_times > 1 && $favorite_times < 4”中“&&”的寄义,它暗示“and”。因而,$favorite_times必需大于一并且小于四,此前提才干成立。

在代码最初,咱们输入用户名和咱们供应给他的信息。固然,你也能够完成各类各样风趣的变更,例如,将信息存在数据库中,或经由过程查询数据库中信息并以恰当格局前往了局。

组合表单
如今咱们已失掉此二函数,接着只需求再放入一小段代码,就能够把两者毗连一同,并创立代码所需的逻辑关系。在display_form() 和process_form() 下到场以下代码:



<?php

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

else { process_form(); }



?>



起首,咱们反省变量$stage是不是为空。在 PHP中,一个变量假如不曾初始化(即不曾赋值)或其值为零(也就是被赋值为零,即空白字串或是零值),则该变量被视为空值。当用户初次会见网页时,$stage变量值为空。因而咱们但愿显示表单;不然咱们将处置表单内容。



以上即若何利用PHP处置表单的进程。





  也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!
因胸联盟 该用户已被删除
沙发
发表于 2015-2-4 13:10:11 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
谁可相欹 该用户已被删除
板凳
发表于 2015-2-6 20:15:27 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
若天明 该用户已被删除
地板
发表于 2015-2-7 13:53:04 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
再见西城 该用户已被删除
5#
发表于 2015-2-8 20:10:15 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
小魔女 该用户已被删除
6#
发表于 2015-2-9 22:02:22 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
不帅 该用户已被删除
7#
 楼主| 发表于 2015-2-21 19:09:52 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
冷月葬花魂 该用户已被删除
8#
发表于 2015-2-27 06:16:18 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-8 22:47:50 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
兰色精灵 该用户已被删除
10#
发表于 2015-3-16 16:03:32 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
活着的死人 该用户已被删除
11#
发表于 2015-3-22 23:21:59 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
分手快乐 该用户已被删除
12#
发表于 2015-4-1 11:09:58 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
admin 该用户已被删除
13#
发表于 2015-4-1 16:09:43 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
再现理想 该用户已被删除
14#
发表于 2015-4-4 17:52:20 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
透明 该用户已被删除
15#
发表于 2015-4-11 06:09:14 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
乐观 该用户已被删除
16#
发表于 2015-4-13 03:10:49 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
17#
发表于 2015-4-15 21:30:41 | 只看该作者
实践是检验自己会不会的真理。
深爱那片海 该用户已被删除
18#
发表于 2015-4-29 07:53:32 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
精灵巫婆 该用户已被删除
19#
发表于 2015-4-29 13:53:09 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
变相怪杰 该用户已被删除
20#
发表于 2015-5-1 19:09:24 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表