php设计的个人页面成品,PHP仿个人博客(1)数据库与界面设计

自学PHP大半年多了,断断续续地,但是最终还是坚定了我的想法,将PHP继续下去,所以写这个PHP的博客是为了找个稳定的 PHP工作,不求工资多高,但求一收留之地。我能看懂大部分英语文档,人不蠢,爱学习,有兴趣地可以联系下!有诚意的来吧!qq:240382473

我会分3-5次发布所有关键代码和文档说明,博客后台所有的样式均套用博客园!

说明:

1. 不完全采用MVC架构,但是理念就是这样的。因为还不能写出很稳定的MVC架构。

2.几乎不采用JQUERY AJAX 因为不是特别熟悉,运用起来还不自如,留言本可以用AJAX,没问题。

3.有几个公用类,其他代码均手写,有不足地地方请多多指出,非常感谢。

4.欢迎批评与指导,但是请给出你的理由。

言归正传:先看数据库架构

这些表的引擎都是MYISAM, 利于存取。(黄色钥匙表示的是 primary key; 蓝色菱形的表示非空字段; 白色菱形表示的 null 字段) 图中的链接仅表示他们之间有一种潜在关系,无法在操作时关联.因为搜索引擎是 MyISAM。 所以需要联合查询, 以及多表操作。

我会挑最重要的 post , category 2个表中的特别字段来详细说明,其他说重要的。

post:

post_id

category_id varchar(10) 这个是用来索引博文的分类, 这里的category_id 也是字符串类型,所以可以为每一个博文设置多个分类。

type varchar(20) 这个字段是用来区分 随笔(post),文章(article),和日记(diary)的; 同时也是能够 设置为 postDraft, articleDraft ;

visiable 博文是否可见

其他常用字段如 标题,内容,创建时间,最后改动时间,浏览次数,评论次数,标签,允许评论,以及些保留字段。

category:

parent, count_child_number, count_parent_number 用于以后扩展

type 可以分别设置相册、博文、日记的分类

其他常用字段如 名称,描述,创建时间,可见性

comment:

address 用户IP

user_agent 用户浏览器类型

其它字段略...

服务器架构

PHP5.4.2 MYSQL 5.523 APACHE 2.2.22 Windows NT ARIST-PC 6.1 build 7600 (Windows 7 Home Basic Edition) i586 (本地)

博客架构

后台目录:

后台目录说明:

assert 存放各种资源 js,css,image

class 存放我们的类 常用类如 数据库操作类,分页类,和我们的大部分model 。。。

extention 存放些扩展 如 mce 的富编辑器

config 存放我们的 配置信息

templates 存放所有的模版(没有采用 smarty)

upload 存放的是相片和其他文件

admin 根目录下会有一些类似的控制器 如 index.php, post.php, article.php, photo.php

我们先看看 admin/config/config.php

代码如下:

ini_set( "display_errors", true );

date_default_timezone_set( "Asia/Shanghai" );

// root and direcotry separate

define('DS', DIRECTORY_SEPARATOR);

define('ROOT', dirname(dirname(__FILE__)));

// database information

// need hash

define( "DB_USERNAME", "****" );

define( "DB_PASSWORD", '*****' );

define( "DB_NAME", "blog" );

// important directory

define( "CLASS_PATH", "classes" );

define( "TEMPLATE_PATH", "templates" );

// user imformation

define( "ADMIN_USERNAME", "admin" );

define( "ADMIN_PASSWORD", '$2a$08$wim8kpwHhAKa6MBSsGUMGOYfjkU1xvRKd4Fxwal.wj8dqFboCVSFawim8kpwHhAKa6MBSsGUMGO');

// hash and verified the password

function hasher($info, $encdata = false){

$strength = "08";

//if encrypted data is passed, check it against input ($info)

if ($encdata) {

if (substr($encdata, 0, 60) == crypt($info, "$2a$".$strength."$".substr($encdata, 60))) {

return true;

}else {

return false;

}

} else {

//make a salt and hash it with input, and add salt to end

$salt = "";

for ($i = 0; $i < 22; $i ) {

$salt .= substr("./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", mt_rand(0, 63), 1);

}

//return 82 char string (60 char hash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值