项目心得-技巧感言
写于项目之后,该篇只是在做项目时想到一点写一点的,后期写完了,紧接着上Linux课程,好多都忘了,权且一看吧,其实也没啥好的,就是一些微不足道的项目感受罢了
1.判断登录时,是否使用验证码登录
2种登录状态
第1种是登录无验证码
第2种是登录有验证码
利用隐藏表单传递的值过来判断是否有验证码
2.如果有多个if 判断在一起时,则后面不能共用一个跳转的提示信息页面
如果只有一个if和else存在 ,则后面就能共用一个跳转的提示信息页面
3.关于多个sql语句执行在同一个页面时,要么是查询的结果 要么是增 删 改的结果
由于使用的是同一个变量来接收结果,这里就多利用此变量,来进行多次重新赋值
所以对结果集的关闭不关闭,就形成了一种资源覆盖不覆盖的效果
当资源覆盖,就不需要关闭结果集,直接关闭mysql的连接
当资源没覆盖,就需要关闭结果集,也同时关闭mysql的连接
一般都是判断语句里面用的多,看准是if区间还是else区间里, 执行 查询的结果关闭和mysql的连接关闭 或 直接执行mysql的连接关闭
4.跳转的提示信息页面如果是被包含的,当要包含此跳转页面时,多注意:跳转页面里的路径是否正确,因为随意包含,会导致路径不对,无法跳转
5.随时调动文件,就随时更改文件里面的路径
6.尽可能的将mysql的调用函数写在文件最前面,也就是被包含mysql的文件放在最前面,下面写上mysql的连接语句,这样就不用再同一个页面写多个同样链接的语句
7.如果有多个文件在同一个目录下,尽量建一个文件为处理数据文件 如aciton.php,以switch中的case为条件作为选择,使之更好利用文件剩余的部分,从而不必为处理数据而多建立文件
如 action.php内写入:
$case=$_POST['隐藏域']或$_GET['传参']
switch($case){
case 'update':
...
break;
case 'insert':
...
break;
case 'delete':
...
break
}
8.数据库中的表,尽量以用户名去将各个表联系起来,用$_GET传参或input 隐藏域来传参,当然本人推荐的是1张表中,两种数据能建立起主副关系,如果思路很清晰,多个数据的放在一张表里也没关系
9.能使用隐藏域传参,就多使用隐藏域传参
10.结果集的关闭是建立在当下的select语句上,数据库的关闭,则放在最后,同一个页面中指不定使用到多少次数据库的增删改查
11.select 语句查询后的结果集,使用的应该是mysql_num_rows(本资源),这样更有效的查出影响行,当然被老师坑的是,老师查询也是用 mysql_affected_rows()来判断是否有结果集的影响行,其实是考试指出mysql_affected_rows()不会有select 影响行,而老师却说手册和考试都是错的,要自己实践,实践出来才是正确的.....
---本人有个疑问:做手册的人和出考试题的人,该情何以堪!!!!!!!
整体下来,第一个论坛项目,并没有将之前所学的知识一一用上,有可能本人技术不到位,没怎么用的上,都是围着数据库的增删改查,再加上判断就做下来了
唯一用到一个文件上传和图片缩放,其他则平平....
忘了说本人很二的一点,在数据判断上,比如注册时间 生日 等,要判断其输入的是否是数字,是否不为空,且还得控制输入的时间大小,如果是数字且是小数点的...这一堆细节判断,耗费本人的时间满多的,等到项目审查时,看的是你实现的功能,而不是细节问题,我了个去~~~所以建议如果能在尽量实现功能的同时,判断则得过且过,以功能实现为主,以判断细节为辅,等以后做真正能拿的出手的东西的时候,细节则是要好好考虑的部分
归根结底,就是做的东西太少,经验不够,很大部分都是摸石头过河,比如表的字段建立,都是建立在满足当前下的需求,后期发现不够再慢慢添加的,还好数据可以随便删,就是浪费时间颇多
总之还是 多做 多想 多练 ,既然没人带,就慢慢摸索呗,反正一回生二回熟的事,本人从来不以不会为借口,而是以没接触过为主导核心,遇到一个不懂的,慢慢去搞懂,当然是时间允许的情况下,还是要主次有序,别耽误了正事
好吧,啰嗦一堆,也想不出啥可写的了,就此结束吧,没事就多练练其他什么商城,微博啥的....(哎,悲催的扩展都没怎么写,当然也没有思路去写了)