仓酷云

标题: PHP教程之用php做一个复杂的表单 [打印本页]

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




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2