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函数基本还是不懂吧! 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 实践是检验自己会不会的真理。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
页:
[1]
2