PHP教程之教你用PHP写MySQL数据库用户认证体系
多去关于PHP的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。 <P style="TEXT-INDENT: 2em">这两天受伴侣的拜托,要我帮他写一个利用MySQL数据库的用户认证体系。我固然欠好推诿的,只得消耗了一夜的歇息工夫,写了个很复杂的PHP法式。 <P style="TEXT-INDENT: 2em">用户认证的道理很复杂:起首需求用户在页面上填入用户名和暗码,固然没注册的用户需求先注册。然后挪用数据库搜刮是不是有响应的用户。假如有就确认,没有则提示用户先注册。利用PHP来完成这一切很复杂,但需求注重的是假如想在今后的页面中都能确认用户身份,利用PHP3我只能想出利用cookie的办法。要想利用session,就只能守候PHP4正式版的宣布了! <P style="TEXT-INDENT: 2em">第一步是做一个登录的页面,这儿就不多讲了。我只做了个极复杂的,人人可以做得大度点。 <P style="TEXT-INDENT: 2em">第二步入手下手登录后切实其实认法式的设计。 <P style="TEXT-INDENT: 2em">login.php: mysql_connect("localhost","user","password") /*毗连数据库,用户名和暗码自行修正*/ or die("没法毗连数据库,请重试"); mysql_select_db("userinfo") or die("没法选择数据库,请重试"); $today=date("Y-m-d H:i:s"); $query=" select id from usertbl where name=$name and password=$password /*从数据库中搜刮和登录用户响应的材料*/ "; $result=mysql_query($query); $numrows=mysql_num_rows($result); if($numrows==0){ /*验证是不是能找出不异材料的用户,不克不及则未注册*/ echo 不法用户; echo 请注册先; echo 重试; } else{ $row=mysql_fetch_array($result); $id=$row; $query=" update usertbl set lastlogin=$today where id=$id"; $result=mysql_query($query); SetCookie("usercookie", "接待你,$name"); /*这里利用了cookie,以便利以后的页面认证。但我未开辟完这一块。但愿有乐趣的伴侣斧正*/ echo 登录胜利; echo 请进!; } ?><P style="TEXT-INDENT: 2em">第三步固然是做好注册的页面,也不多讲了。 <P style="TEXT-INDENT: 2em">第四步是注册后的身份确认和输出数据库。 <P style="TEXT-INDENT: 2em">register.php: mysql_connect("localhost","user","password") /*请修正用户名和暗码*/ or die("没法毗连数据库,请重试"); mysql_select_db("userinfo") or die("没法选择数据库,请重试"); $query="select id from usertbl where name=$name\"; /*从数据库中搜刮不异名字的用户材料*/ $result=mysql_query($query); $numrows=mysql_num_rows($result); if($numrows!=0) /*找到了固然就是有人先注册了不异的名字*/ {echo 已有人注册此名,请从头选择名字!;} else {$query="insert into usertbl values(0,$name,$password,\)"; /*找不到不异的就输出新的用户材料*/ mysql_query($query); echo 注册胜利; echo 请登录!;} ?><P style="TEXT-INDENT: 2em">下一步是cookie的利用,我原盘算利用cookie来使每页都能辨认用户身份,但因为其余页面还没做好,不晓得需求用到哪些材料。因而就只要一个很复杂的利用,这里用到了php的援用: <P style="TEXT-INDENT: 2em">if(!$usercookie) {header("不法用户"); } ?> welcome.php: require("cookie.php"); /*挪用cookie.php*/ ?> echo $usercookie; ?><P style="TEXT-INDENT: 2em">到这儿便完成了一个很复杂的用户认证体系,固然假如你要利用它还得建好数据库。上面是我的数据库表的布局,库的名字是userinfo。 <P style="TEXT-INDENT: 2em">create table usertbl ( ID int auto_increment primary key, Name varchar(30), Password varchar(20), Lastlogin varchar(20) );在我开始学习PHP以前,我从未想过要做软件工程,即便是在去听过华育国际的关于软件工程的美好前景后,因为我一直都没有想过要与代码打交道,而是想学好所学专业,做个网络工程师或者是网络安全人员。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 爱上php,他也会爱上你。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
页:
[1]