PHP半路出家(3)
前言反思了最近写的一些东西,有些小感触
对于学过java或C++的coder来说,
老说语法也没啥意思,OOP,异常之类的技术
不是看看简单的实例代码就能会的,
不懂的可以google喽~
START!
暂时不在blog上写死知识了,还是暂时先在blog上写blog吧~
计划是Practical PHP and MySQL书中第一个实例.
需要一个良好的存储模型
http://pic002.cnblogs.com/images/2012/337407/2012051214402140.png
数据库中需要建立的3个表
用相关的id的进行各个数据之间的匹配
blog的大体逻辑框架
http://www.agoit.com/bbs/data:image/png;base64,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*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
config.php
功能 : 提供常量,一般是一些简单的配置.
内容 :
数据库---
博客相关---[博客名称] [作者] [主页的根目录]
header.php
功能 : 给每个博客页面的初始化工作
内容 :
每个页面的博客顶部标题---html
数据库连接---MySQL
登陆验证---正确登陆后可以进行博客管理---SESSION
footer.php
功能 : 在每个页面底部添加作者标志.
内容 : © Matter
index.php
功能 : 显示文章 , 查看评论 , 显示以前文章
内容 :
在数据库查询文章---MySQL
显示文章标题和内容---PHP
viewentry.php
功能 : 利用锚点,查看评论,并添加评论
内容 :
先验证,获取id号---GET
连接数据库,查找对应ID的文章---MySQL
查找所有评论---MySQL
显示文章,评论---php
提交评论的表单---html
viewcat.php
功能 : 分类浏览
内容 :
判断请求的id---php
显示相应ID下所有文章---MySQL
Login.php
功能 : 登陆---session
Logout.php
功能 : 登出---session
addentry.php
功能 : 添加文章
内容 :
验证用户---session
写分类和文章---html
添加内容到数据库
updateentry.php
功能 : 修改文章
内容 :
验证
数据库的UPDATE命令
编码小收获
1.date()时间格式
date()符号
日期
D
Sat
D j
Sat 12
D jS
Sat 12th
D jS F
Sat 12th May
D jS F Y
Sat 12th May 2012
D jS F Y g
Sat 12th May 2012 3
D jS F Y g.
Sat 12th May 2012 3.
D jS F Y g.i
Sat 12th May 2012 3.06
D jS F Y g.iA
Sat 12th May 2012 3.06PM
2.页面设计的时候,可以用header和footer文件,产生固定的效果
3.SQL语句简单格式 : SELECT(选择)--WHERE(条件)--ORDER BY(排序)--DESC(倒序)--LIMIT(限制)
4.用config.php文件保存一些配置信息常量
5.对$_GET和$_POST超级全局变量的使用概览
6.用手过了一遍数据库和网页的编程实践
小感想
这是我的第一个PHP+MySQL的小程序 , 做这个的动机是学习PHP时自以为语法到位了 , 想试试手 . 但遇到了不少困难 .
好的方面
了解了部署一个服务器上的BLOG的流程 , 和原理 .
对PHP在编程中的角色有了一定的理解
使用MySQL和页面互动
了解了锚点,session等以前只是听说过的内容
坏的方面
跟书编码 , 整体感不够(在博客里总结一遍,算是清晰一点吧).
HTML布局和CSS样式掌握的不好 , 这两方面导致我的页面总是莫名其妙的乱了 .
还有SQL语言掌握的不太好 , 只会很"质朴"的操作,没掌握的感觉很明显
总之,我对自己学习PHP的方向感明晰一些.希望以后能再接再厉!!!
页:
[1]