简单评价
总体来说大家的任务都基本完成了要求的功能,并有不少人在要求的基础上进行了拓展。这是个很好的现象,把自己所学的东西应用到自己的项目上,既能丰富自己的项目,又能加深对知识的理解。
任务中存在的问题
1.前后端分离问题
单一的项目不进行前后端分离可能会效率更高(比如这一次的任务),但是分离后台的最主要功能是进行分工和便于管理。对于一定工程量的项目,在大的方面来说可以提高效率,例如进行代码重用,减少冗杂,让代码更加简洁,否则就是给自己挖坑,增加维护的成本。
例如:把login.php中进行数据库连接的php代码抽离出来,放在database.php中 。
在database.php中:
function getConnect()
{
$conn = @mysql_connect("localhost", "root", "");
if(!$conn)
{
die('Could not connect:'. mysql_error());
}
mysql_query("set names utf8");
mysql_select_db("test",$conn);
}
在login.php中:
<?php
header("Content-type:text/html;charset=utf-8");
include("./database.php");//database.php与login.php处于同级目录下
getConnect();//连接数据库,调用getConnect方法
......
2.用户输入验证
几乎每个人都做了用户输入的非空验证,说明大家还是有意识地对用户输入的信息进行验证,至于验证是否全面合理,提示信息的设置还有待自己斟酌,这方面可以多多留心大型门户网站的输入验证,或者会有所启发。
部分人只在后台进行输入验证,包括非空验证,格式验证,非法字符验证等与数据库无交互的验证,这样做有个弊端是当在后台验证失败时跳回表单页面,用户的输入值会丢失。比较好的一种方法是在表单提交前先利用JS进行输入验证,下面是一个简单的例子:
建议每个人都加上一定的JS验证,这是提升用户体验,提供及时信息反馈的一种较好方式。但这并不意味着不用在后台进行一模一样的验证,有时候客户端的JS被禁用或者通过其他各种方式绕过了JS验证,提交的数据就没有经过过滤,直接传送到后台,有可能就直接把未验证数据存入数据库。
另外关于WEB开发安全守则之“永远不要相信用户的输入”,有余力的可以去了解一下有关SQL注入与防注入的内容。
3.Session会话控制
可以去了解一下W3C有关PHP高级教程中的Sessions的相关内容,利用Sessions可以记录管理员登录情况和设置Sessions生存时间,令管理员在已登录的情况下可以在3天内免登陆进入管理后台界面。更多的相关内容可以自行了解,尝试理解Session与Cookie的概念和异同。
session_set_cookie_params(24*3600*3); //保存三天
session_start();//开始会话控制
4.个人点评
展富:
优点:后台逻辑较好,使用了面向对象的编程思想,后台设置了增删查的功能。
改进:JS验证和后台验证需要完善补漏,后台界面的增删查功能设计比较混乱。
晓婉:
优点:前端素材使用比较好。
改进:JS验证较简单,可以简化。丰富前端样式。
子斌:
优点:后台知识掌握得比较好,管理界面比较完备,有增删改管理员信息的功能,进行了登陆判断和代码重用。
铎文:
改进:后台比较简单,可以丰富数据库的字段,学习JS和正则表达式,加入一定的验证。
昕纯:
优点:有简单的JS验证,实现了简单的分页效果。
改进:判断用户输入逻辑需要完善,代码规范问题,后台比较简单。
总结
总的来说大家的任务还是达到了要求,但是前端方面还有很多提升的空间,希望在丰富后台的同时也注意一下界面的美观程度,模仿学习网络上的优秀案例也不失为一种方式。
同时有关代码规范问题,希望能够引起一定的注意,后台逻辑复杂的时候,一定的注释能够让开发者回头重读代码时节省大量时间。
前端代码规范
后台代码规范
以及网络方向的内部资料【PHP编码规范1.1】
胡承佐