ホームページ > php教程 > php手册 > 如何从零开始教女同学进行PHP开发(2):表单的处理

如何从零开始教女同学进行PHP开发(2):表单的处理

WBOY
リリース: 2016-06-13 10:19:30
オリジナル
1186 人が閲覧しました

我终究还是低估了“妹子”两个字对程序猿们的杀伤力,在无图说个杰宝的今天,竟然还能在没有爆照的情况下点击量一天不到就到达了四位数,并且还成为当天评论最多的帖子!虽然评论都歪楼歪得不行了,但是妹子还是非常贴心地对我说了一句——妹子在此表示很关注内容。看到这句话,我顿时生出一种抛却此身为君死的知遇之情,不知道我以身相许妹子能乐意不?

这么多人看到这一系列,我还是应该秉承技术博客的宗旨,尽量以讲技术为主,跟广大入门者一起探讨PHP开发的知识。不过呢,为了照顾广大因为标题点击近来的程序猿们,我会在博客中增加一些妹子在学习过程中表现的叙述,并且传授大家如何跟妹子培养感情,哦,不,是进行学术交流。

既然是教妹子web开发,尤其是在几乎零基础的情况下,就必须要从非常基本的东西讲起,有足够的耐心。但是也要有严格的教学思路,不能想到什么就说什么,这样妹子听了不但会觉得烦,而且学习效率也不高。你想想,妹子烦了,学习的劲头上不去,后面还能有你的什么事呢?你还没来得及展示你的知识深度和丰富开发经验呢,妹子就已经把电脑一关弃你而去了,然后,还能有什么然后呢?!总结一句:没方法没思路没耐心,注定孤独一生。

在前一篇,已经基本介绍了一些东西,可以概括为以下几点:1)php代码要用标签进行标识2)如何使用echo语句进行输出html代码,另外关于要用对""中的"(双引号)用\转义符)进行转义。3)php代码是如何跟html代码进行混合的。那么,在这个基础上,下一步就是如何提交表单以及所提交表单的处理。

第三步:提交表单

在html语法中,我们会用

标签进行表单的标识,在百度百科中,我们可以知道——表单在网页中主要负责数据采集功能。也就是说,表单为系统提供了提交数据的功能。那么,我们再来重温一下之前写的那几行代码,重点关注表单部分的内容。
<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span>         //php代码部分开始  </span></span></li>
<li>
<span>echo "</span><span class="tag"><span class="tag-name">html</span><span class="tag">></span><span>";  </span></span>
</li>
<li class="alt">
<span>echo "</span><span class="tag"><span class="tag-name">head</span><span class="tag">></span><span>";  </span></span>
</li>
<li>
<span>echo "</span><span class="tag"><span class="tag-name">meta</span><span> </span><span class="attribute">charset</span><span>=\"gbk\"</span><span class="tag">></span><span>";  </span></span>
</li>
<li class="alt">
<span>echo "</span><span class="tag"><span class="tag-name">title</span><span class="tag">></span><span>用户登录界面</span><span class="tag"></span><span class="tag-name">title</span><span class="tag">></span><span>";  </span></span>
</li>
<li>
<span class="tag">?></span><span class="comments"><!--  php代码部分结束--></span><span> </span>
</li>
<li class="alt">
<span class="tag"></span><span class="tag-name">head</span><span class="tag">></span><span> </span>
</li>
<li><span class="tag"><span class="tag-name">body</span><span class="tag">></span><span> </span></span></li>
<li class="alt"><span class="tag"><span class="tag-name">form</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"login"</span><span> </span><span class="attribute">action</span><span>=</span><span class="attribute-value">"Controller.php"</span><span> </span><span class="attribute">method</span><span>=</span><span class="attribute-value">"post"</span><span> </span><span class="tag">></span><span> </span></span></li>
<li>
<span> </span><span class="comments"><!-- 上一行代码的意思是 --></span><span> </span>
</li>
<li class="alt">
<span> </span><span class="comments"><!-- name="login"表单的名称为login,提交的动作为&ldquo;Controller.php&rdquo;,请求方式为&ldquo;post&rdquo; --></span><span> </span>
</li>
<li>
<span>     </span><span class="tag"><span class="tag-name">td</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"tbl"</span><span class="tag">></span><span>用户名:</span><span class="tag"></span><span class="tag-name">td</span><span class="tag">></span><span class="tag"><span class="tag-name">td</span><span class="tag">></span><span class="tag"><span class="tag-name">input</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text"</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user_id"</span><span class="tag">></span><span class="tag"></span><span class="tag-name">td</span><span class="tag">></span><span>   </span></span></span></span>
</li>
<li class="alt">
<span> </span><span class="comments"><!-- name="user_id"的意思是所填写的用户名标识为user_id --></span><span>     </span>
</li>
<li>
<span>     </span><span class="tag"><span class="tag-name">td</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"tbl"</span><span class="tag">></span><span>密码:</span><span class="tag"></span><span class="tag-name">td</span><span class="tag">></span><span class="tag"><span class="tag-name">td</span><span class="tag">></span><span class="tag"><span class="tag-name">input</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text"</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user_password"</span><span class="tag">></span><span class="tag"></span><span class="tag-name">td</span><span class="tag">></span><span> </span></span></span></span>
</li>
<li class="alt">
<span> </span><span class="comments"><!-- name="user_password"的意思是所填写的密码标识为user_password --></span><span> </span>
</li>
<li>
<span class="tag"></span><span class="tag-name">php</span><span>      </span>
</li>
<li class="alt">
<span>echo "</span><span class="tag"><span class="tag-name">td</span><span class="tag">></span><span class="tag"><span class="tag-name">input</span><span> </span><span class="attribute">type</span><span>=\"submit\" </span><span class="attribute">value</span><span>=\"登入系统\"</span><span class="tag">></span><span class="tag"></span><span class="tag-name">td</span><span class="tag">></span><span>"  </span></span></span>
</li>
<li><span>  //submit表示的是表单的提交按钮,按钮显示为“登入系统”  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
<li>
<span class="tag"></span><span class="tag-name">form</span><span class="tag">></span><span> </span>
</li>
<li class="alt">
<span class="tag"></span><span class="tag-name">body</span><span class="tag">></span><span> </span>
</li>
<li>
<span class="tag"></span><span class="tag-name">html</span><span class="tag">></span><span> </span>
</li>
</ol>
ログイン後にコピー

看到上面这几行代码跟注释,有人可能会觉得:这也太简单了吧。在一开始我就说过了,教妹子学技术的关键在于要有耐心,如果妹子什么都会了,还要你干嘛?在这里,重点要给妹子解释一下的就是action="Controller.php",意思就是点击submit提交按钮后,页面会跳转到Controller.php这个文件,换句话来说——妹子,表单提交,就是把数据提交到Conroller.php上,由它来处理数据嘛。这样的解释可能有失偏颇,但是为了让妹子更好的理解,这也是权宜之计,效果不错的哟)

第四步:获取和处理所提交表单的数据

既然提交了表单,那么下一步肯定是如何获取和处理表单中里的数据。如果你这个时候给妹子讲POST请求和HTTP协议,妹子除了晕头转向并且给你两个白眼,估计你啥效果都得不到。你可能会说,楼主你这样的教学方式很不科学很不全面啊。是不是科学是不是全面我暂且不跟你争论,有的时候讲的细讲的多不代表对学的人就好,能把教学过程进行下去才是最重要的。

废话少说,我们直接看Controller.php的代码,在注释的帮助给妹子解释,PHP是如何获取HTML表单数据的。

<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span> </span></span></li>
<li><span>session_start();//使用session前必须调用该函数  </span></li>
<li class="alt"><span> </span></li>
<li>
<span>$</span><span class="attribute">user_id</span><span> =$_POST['user_id'];//声明变量$user_id,把POST请求中的user_id的值赋给它  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">user_password</span><span>= $_POST['user_password'];  </span>
</li>
<li><span>//声明变量$user_password,把POST请求中的user_password的值赋给它  </span></li>
<li class="alt"><span> </span></li>
<li><span>//.操作符连接两个字符串变量,以下两条语句显示所提交表单的用户名和密码  </span></li>
<li class="alt"><span>echo "所提交表单的用户名是:".$user_id;  </span></li>
<li><span>echo "   密码是".$user_password;  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>
ログイン後にコピー

看到开头的第一句:session_start();和紧接着的注释,妹子肯定会问——什么是session啊?session,通俗的来讲,就是用户从进入网站开始到关闭浏览器结束的这个过程。而在PHP中使用session,就是通过注册若干session全局变量,在不同的页面或php文件中使用这些变量。妹子肯定没有办法一下子就明白session到底是怎么回事,当前只要让她暂时知道有这么一回事就行了,在往后的学习当中会逐渐加深对其的理解。

继续看到代码,对照第三步的代码我们会知道,提交表单的方式是POST,所以我们用$_POST变量来获取表单中的数据。而中括号[' ']内的索引为表单中的name,通过索引来获取数组$_POST中的值,最后显示在页面上。

把数据显示到页面上,固然是一种“处理”的方式。可是既然是登录功能,那所输入的用户名和密码一般来说都必须与系统中的设定吻合。例如系统中只有一个用户名是admin,密码是123456,那么在输入除admin之外的用户名都应该是被拒绝登录的,而密码也应该与admin所对应,必须是123456。判断代码如下:

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span>session_start();</span><span class="comment">//使用session前必须调用该函数 </span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span class="vars">$user_id</span><span> =</span><span class="vars">$_POST</span><span>[</span><span class="string">'user_id'</span><span>];</span><span class="comment">//声明变量$user_id,把POST请求中的user_id的值赋给它 </span><span> </span>
</li>
<li class="alt">
<span class="vars">$user_password</span><span>= </span><span class="vars">$_POST</span><span>[</span><span class="string">'user_password'</span><span>];  </span>
</li>
<li>
<span class="comment">//声明变量$user_password,把POST请求中的user_password的值赋给它 </span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span class="comment">//.操作符连接两个字符串变量,以下两条语句显示所提交表单的用户名和密码 </span><span> </span>
</li>
<li class="alt">
<span class="keyword">if</span><span>(</span><span class="vars">$user_id</span><span>==</span><span class="string">'admin'</span><span>&&</span><span class="vars">$user_password</span><span>==</span><span class="string">'123456'</span><span>)</span><span class="comment">//判断语句,&&为且运算符,必须两条件均符合才为真 </span><span> </span>
</li>
<li><span>{  </span></li>
<li class="alt">
<span>    </span><span class="func">echo</span><span> </span><span class="string">"通过验证,登录成功"</span><span>;  </span>
</li>
<li><span>}  </span></li>
<li class="alt">
<span class="keyword">else</span><span>   </span>
</li>
<li>
<span>    </span><span class="func">echo</span><span> </span><span class="string">"未通过验证,登录失败"</span><span>;  </span>
</li>
<li class="alt"><span>?> </span></li>
</ol>
ログイン後にコピー

妹子很努力,上午我问她对数据库的基本操作是不是熟悉,晚上我问她在干什么的时候,她说:在恶补数据库呢。这时候,我的心里不知道多感动,本来上了一天班挺累的顿时疲劳尽消赶紧坐到电脑前码字。

为什么我要让她复习数据库呢?因为我们的系统不大可能只有一个账号,更不可能把所有的账号和密码都写进PHP文件中。我们要做的是,把这些信息存进数据库里,到需要用的时候就拿出来。什么时候需要用呢?当然是登录需要验证的时候,也就是现在。

第五步:连接MySQL数据库

PHP提供了完成的操作MySQL数据库的函数,这些函数提供了从连接数据库、执行SQL语句、处理数据结果集到关闭数据库等方方面面的功能。妹子可以用通过这些函数使得基于MySQL数据库的Web开发变得高效而且简单。

那么,我们就从最基本的连接数据库开始。请看代码:

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span>  </span><span class="vars">$host</span><span> =</span><span class="string">'localhost'</span><span>;</span><span class="comment">//定义数据库服务器,为本地主机 </span><span> </span>
</li>
<li class="alt">
<span>  </span><span class="vars">$user_name</span><span>=</span><span class="string">'root'</span><span>; </span><span class="comment">//定义数据库的用户名 </span><span> </span>
</li>
<li>
<span>  </span><span class="vars">$password</span><span> =</span><span class="string">''</span><span>;     </span><span class="comment">//定义数据库的密码 </span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span>  </span><span class="vars">$conn</span><span> = mysql_connect(</span><span class="vars">$host</span><span>,</span><span class="vars">$user_name</span><span>,</span><span class="vars">$password</span><span>);</span><span class="comment">//连接MySQL,获取链接 </span><span> </span>
</li>
<li class="alt">
<span>  </span><span class="keyword">if</span><span>(!</span><span class="vars">$conn</span><span>){</span><span class="comment">//判断链接是否为空 </span><span> </span>
</li>
<li>
<span>    </span><span class="keyword">die</span><span>(</span><span class="string">'数据库连接失败:'</span><span>.mysql_error());  </span>
</li>
<li class="alt">
<span>    </span><span class="comment">//使用了语言结构die(),它的功能类似于exit,输出一段信息不能并立即中断程序的执行 </span><span> </span>
</li>
<li><span>  }  </span></li>
<li class="alt">
<span>  </span><span class="keyword">else</span><span>{  </span>
</li>
<li>
<span>      </span><span class="func">echo</span><span> </span><span class="string">"数据库连接成功"</span><span>;  </span>
</li>
<li class="alt"><span>  } </span></li>
</ol>
ログイン後にコピー

在这里,我假定妹子知道什么是服务器、用户名和密码心理活动:妹子说恶补了一个晚上,该不会连这个都不知道吧,心惊胆战ing)。关键的语句其实就只有一句,

$conn = mysql_connect($host,$user_name,$password);$host(服务器)、$user_name用户名)和$password密码)作为参数,通过mysql_connect函数获取mysql数据库的链接,并赋给变量$conn。
那么,如何利用数据库链接$conn对mysql数据库进行操作呢?我们明天在下一篇再继续说。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート