PHP头条
热点:

实例学习PHP之表单处理篇


P>标题: ■ 实例学习 PHP 之表单处理篇
   学习前的准备:

   要想学习PHP,当然少不了要安装PHP啦,所以如果你是初次学习,请先阅读网络学院的文章:

   PHP4.03在linux下的安装

   PHP4.04在win98下的安装

   PHP4.04在英文win2000下的安装

   如果你找不到安装程序请到下面下载:

   PHP4.04Beta WIN32 安装程序


   PHP4.03源程序


   PHP3.0.16 WIN32 安装程序


   PHP3.0.16源程序

   OK!现在应该已经没有什么可以阻止我们学习了,Let's go!

   在学习开始以前,我们先交待一下关于表单的基础知识,如果你对HTML非常熟悉,那么可以跳过该部分,直接学习。

   故名思议表单是利用网页收集数据的工具,比如你想在网上搞个群众调查啊什么的,肯定是少不了要用他的。下面我简单介绍一下表单的基础知识,关于他的详细内容请自行查阅HTML手册。

   表单的使用其实非常简单,大家先看一下下面的例子:

  


   < FORM action="< ?php echo $PHP_SELF; ?>"METHOD=post>

   名字: < INPUT TYPE=TEXT NAME="name">


   单项选择:

   < INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨

   < INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨

   < INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒


   多项选择:

   < INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢打蓝球">我喜欢打蓝球

   < INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢游泳">我喜欢游泳

   < INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢跳舞">我喜欢跳舞

   < INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢爬山">我喜欢爬山

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

   < INPUT TYPE=SUBMIT VALUE= "谢谢">

   < /FORM>

   名字:
单项选择: 我很笨 我非常笨 我简直就是个傻冒
多项选择: 我喜欢打蓝球 我喜欢游泳 我喜欢跳舞 我喜欢爬山


   怎么样?看明白了吗?上部分是表单的html源代码,下部分则是这个表单在浏览器的表现形式。 标志< FORM action="< ?php echo $PHP_SELF; ?>"METHOD=post> 表示开始一个表单,到标志< /Form>时表单结束。处理这个表单的程序,用Form标志里的action属性指出。在这里为< ? echo $PHP_SELF; ?>, 其中$PHP_SELF是PHP中的一个global 变量,用于保存目前执行 PHP 程式页面的档名,< ? echo $PHP_SELF; ?>的意思就是用当前的PHP程序来处理这个表单。那么下面的METHOD=post表示什么意思呢?其实表单从浏览器发给服务器有两种方法. GET 和 POST. GET方法将数据打包放置在环境变量QUERY_STRING中作为URL整体的一部分传递给服务器。 POST做很多类似GET同样的事情, 不同的地方就是它是分离地传递数据给脚本. 你的脚本通过标准输入获取这些数据. QUERY_STRING环境变量将不再设置.因此POST有更好的安全性,尤其如果你的表单中有很多数据的话. 当你用GET, 这个服务器就分配变量QUERY_STRING给所有的表单数据, 但是这个变量可存储量是有限的. 换句话说,如果你有很多数据但是你又用GET,你会丢失很多数据。 如果你用POST, 你可以尽可能多地使用数据, 因为这些数据从来也不分配到一个变量里。此外用post传递数据还有一个好处,它不会象get那样把你传送的数据暴露在浏览器的地址栏中,比如象下面这种:form.php?name=genius&pwd=123456 ,明白了吧?所以还是用post让人安心一点啦。

   (编者注:由于数据库的兼容问题,在上文的源代码中的“$”符和上引号请在实际应用中改为半角字符的相应符号。若有不便之处,敬请原谅。)

   下面继续我们的学习吧,在建立表单的过程中,你一般只会用到两个标志,一个是前面说的; Form>标志,还有就是 ; Input>标志,不要小看它哟,表单里的各种小控件都是由它来建立的。借助于Input标志的Type属性可以定义输入方法类型,有效值为TEXT,PASSWORD,RADIO,CHECKBOX,SUBMIT,RESET,IMAGE,FILE,HIDDEN和BUTTON。 下面是对这几个输入类型的简要说明:

TEXT 产生简单的单行文本输入字段,为了取得多行文本,用; TEXTAREA>标志
PASSWORD 和TEXT一样产生简单的单行文本输入字段,但不会在屏幕上显示输入内容
RADIO 产生可开闭的小单选按钮,多项选择可用CHECKBOX型或者; SELECT>标志
SUBMIT 产生用于将所有名称数值对提交给表单处理程序的按钮
RESET 用于将所有输入方法复位为空值或缺省值
IMAGE 将提交按钮变成图形,这个数值与提交按钮一致,只是选择图形时鼠标位置x、y坐标也发送给表单处理程序
BUTTON 产生不与脚本进行特定交互功能的按钮


   现在我们已经知道如何生成输入小控件了,那么在这些控件里输入的数据怎么传递给我们的程序来处理呢?在d 在INPUT标志中有一个NAME属性专门用于给输入的数值取名,例如: NAME="first"。在定义以后,如果想程序访问这个数据,用global申明一下就可以使用喽。如果想定义数据默认值的话,可以用Value属性定义,例如上面程序的 VALUE="我很笨" 就是定义了一个默认值,下面我们来看一个单项选择的实例:

   ; INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨

   ; INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨

   ; INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒

   从上面大家可以看出NAME,VALUE的基本用法了吗?什么?还不明白…………(地藏晕倒在地……)

   OK,我们的表单使用就简单的讲到这里吧,下面开始我们进入正题 ----- PHP处理表单

   用PHP来处理表单数据实在是一件非常简单的事情,打个比方就好象你吃饭时用筷子一样,使用非常的自然,没有什么需要特别注意的地方。老样子,大家开始学习以前先看看下面的代码吧。

   上面是一个非常类似调查表的PHP例子,由于程序比较简单,所以没有做什么注解。大家在仔细看程序之前可以把这段代码拷下来在自己机器运行一下先看看实际效果,这样有一个直观的印象。

   (编者注:由于数据库的兼容问题,在上文的源代码中的“$”符和上引号请在实际应用中改为半角字符的相应符号。若有不便之处,敬请原谅。)

调查表;/title></p> <p><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></p> <p></head></p> <p><body bgcolor="#FFFFFF"></p> <p><?php</p> <p>function display_form() {</p> <p>global $PHP_SELF;</p> <p>?></p> <p><FORM action="<?php echo $PHP_SELF;?>" METHOD=post></p> <p>名字:<NPUT TYPE=TEXT NAME="name"><BR></p> <p>   单项选择: </p> <p><INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨</p> <p><INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨</p> <p><INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒 ; br></p> <p>   多项选择: </p> <p><INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢打蓝球">我喜欢打蓝球</p> <p><INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢游泳">我喜欢游泳</p> <p><INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢跳舞">我喜欢跳舞</p> <p><INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢爬山">我喜欢爬山</p> <p><INPUT TYPE=HIDDEN NAME="stage" VALUE= "results">;p></p> <p><INPUT TYPE=SUBMIT VALUE= "谢谢">;/p></p> <p></FORM></p> <p><?php</p> <p>}</p> <p>?></p> <p>//程序开始</p> <p><?php</p> <p>function process_form()</p> <p>{</p> <p>global $name ;</p> <p>global $first;</p> <p>global $second; </p> <p><br />if ($first == '我很笨') { $first_message = '你不笨。'; }</p> <p>elseif ($first == '我非常笨') { $first_message = '你很聪明。'; }</p> <p>else { $first_message = '你简直就象是一个聪明的人了。'; } </p> <p>$favorite_second = count($second); </p> <p>if ($favorite_second ;= 1) </p> <p>{$second_message = '但你很快就会在动物园里死去,忏悔吧!';} </p> <p>elseif ($favorite_second > 1 && $favorite_second ; 4) </p> <p>{$second_message = '你是只爱运动的的猩猩。';} </p> <p>else {$second_message = '你运动的太多了,对猩猩来讲已经过量,你准备棺材吧,:(';} </p> <p>echo "这是一项针对猩猩的测试:;br>;br>"; </p> <p>echo "你好! 你的名字叫:$name. ;br>;br>";</p> <p>echo "你的测验结果是。。。。。$first_message $second_message"; </p> <p>} </p> <p>?> </p> <p><?php </p> <p>if (empty($stage)) { display_form(); }</p> <p>else { process_form(); }</p> <p>?> </p> <p></body> </p> <p></html></p> <p align="left"><div style="display:none;"><span id="url" itemprop="url">/php/8438.html</span><span id="indexUrl" itemprop="indexUrl">www.phpzy.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">/php/8438.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">实例学习PHP之表单处理篇 P>标题: ■ 实例学习 PHP 之表单处理篇 学习前的准备: 要想学习PHP,当然少不了要安装PHP啦,所以如果你是初次学习,请先阅读网络学院的文章: PHP4.03在lin...</span></div></p></div> <div class="art_confoot"><script src='http://www.phpzy.com/ad/art_confoot.js' type="text/javascript"></script></div> <div class="page"></div> <div class="post-related"> <h3 class="tit_3">相关文章</h3><div class="clearfix m_5"> <ul> <li><a href='/php/8437.html' title='用PHP写的阴阳万年历' target='_blank'>用PHP写的阴阳万年历</a></li><li><a href='/php/8436.html' title='PHPFilesThief' target='_blank'>PHPFilesThief</a></li><li><a href='/php/8435.html' title='无数据库的详细域名查询程序PHP版' target='_blank'>无数据库的详细域名查询程序PHP版</a></li><li><a href='/php/8434.html' title='PHPMYSQL的文章管理系统' target='_blank'>PHPMYSQL的文章管理系统</a></li><li><a href='/php/8433.html' title='基于PHPMySQL的聊天室设计' target='_blank'>基于PHPMySQL的聊天室设计</a></li><li><a href='/php/8432.html' title='date.inc.php3中两个函数的例程。' target='_blank'>date.inc.php3中两个函数的例程。</a></li></ul></div> </div> <div class="option-btns"> <div class="art_confoot"><script src='http://www.phpzy.com/ad/xgart_confoot.js' type="text/javascript"></script></div> </div> <div id="related_reading" class="haman-box"> <ul class="xgyd clearfix"> <div class="xgyd_new"><span class="fast-nav-bar"><a href="http://www.phpzy.com/fenlei/list-11-1.html">今日最新</a></span><strong>相关阅读:</strong></div> <li><a href="/php/8437.html">用PHP写的阴阳万年历</a></li> <li><a href="/php/8436.html">PHPFilesThief</a></li> <li><a href="/php/8435.html">无数据库的详细域名查询程序PHP版</a></li> <li><a href="/php/8434.html">PHPMYSQL的文章管理系统</a></li> <li><a href="/php/8433.html">基于PHPMySQL的聊天室设计</a></li> <li><a href="/php/8432.html">date.inc.php3中两个函数的例程。</a></li> </ul></div> <footer><div class="hot_c"><span><b>相关频道:</b> </span></div> </footer> </div> <div class="info_more" id="info_more"></div> <div class="clearfix mt10 art_commentstop" id="commentTopAd"><script src='http://www.phpzy.com/ad/art_commentstop.js' type="text/javascript"></script></div> <div id="hm_t_46468"></div> <a name="comment"></a><div class="comment" id="commentTopAd" itemprop="comment"><h3>PHP之友评论</h3></div> <div class="wb_comment_box" id="commentsiframe"><script type="text/javascript" src='http://www.phpzy.com/ad/comments.js'></script></div> </article> <div class="syzp mt10" style="overflow:hidden;"><div class="tit_7">今天推荐</div><script type="text/javascript" src="http://www.phpzy.com/ad/left_foot_ad.js"></script></div> </div> <aside class="right" id="main_right"> <div class="art_rightad1"><script src='http://www.phpzy.com/ad/art_rightad1.js' type="text/javascript"></script></div> <div class="r_bd mt10 pb10"> <div class="tit_5 tit_6">php教程最近更新</div> <ul id="bbsRank_1" class="rank_ul2 rank_dot" style="border-top:1px solid #AAC5F2;margin-top: -1px;"> <li><a href="/php/8438.html">实例学习PHP之表单处理篇</a> </li> <li><a href="/php/8437.html">用PHP写的阴阳万年历</a> </li> <li><a href="/php/8436.html">PHPFilesThief</a> </li> <li><a href="/php/8435.html">无数据库的详细域名查询程序PHP版</a> </li> <li><a href="/php/8434.html">PHPMYSQL的文章管理系统</a> </li> </ul></div> <div class="art_rightad2 mt10"><script src='http://www.phpzy.com/ad/art_rightad2.js' type="text/javascript"></script></div> <div class="r_bd mt10 pb10"> <div class="tit_5 tit_6">热门推荐</div> <ul id="bbsRank_1" class="rank_ul2 rank_dot" style="border-top:1px solid #AAC5F2;margin-top: -1px;"> <li><a href="/php/1832.html">php实现一键登陆英雄联盟游戏</a> </li> <li><a href="/php/2031.html">PHP.MVC的模板标签系统(一)</a> </li> <li><a href="/php/3534.html">ip签名探针</a> </li> <li><a href="/php/8231.html">一个“日期”字符串进行比较的case</a> </li> <li><a href="/php/3189.html">phpmyadmin如何登陆啊啊</a> </li> </ul> </div> <div class="r_bd mt10 pb10"><div style="margin-top: 0pt;" class="tit_5 tit_6">有意思</div> <script type="text/javascript" src="http://www.phpzy.com/ad/right_ad5.js"></script></div> <div class="art_rightad3"><script src='http://www.phpzy.com/ad/art_rightad3.js' type="text/javascript"></script></div> <div id="focus_look" class="instant-focus mt10"><div class="instant-focus-header clearfix"><h3>实时看点</h3><span>看啥好</span></div> <script type="text/javascript" src="http://www.phpzy.com/ad/right_ad6.js"></script></div> <div class="art_rightad4 mt10"><script src='http://www.phpzy.com/ad/art_rightad4.js' type="text/javascript"></script></div> </aside></div></div> <footer id="footer" class="div_body"> <script type="text/javascript" src="http://www.phpzy.com/ad/arc_foot_ad.js"></script> <script type="text/javascript" src="http://www.phpzy.com/templets/js/foot.js"></script> <div style="display:none;"><script src='http://www.phpzy.com/ad/tongji.js' type="text/javascript"></script></div> <div id="roll"></i><a title="回顶部" id="roll_top" href="#top" style="opacity: 0.7;" target="_self" rel="nofllow"></a></div> </footer> <script type="text/javascript" src="http://www.phpzy.com/ad/maintop.js?131231"></script> </body> </html>