安装Kohana 3 PHP 框架

kohana 3 php logo 550x241 安装Kohana 3 PHP 框架
Kohana 3发布已经有一段时间,这个版本重新设计了大量的代码,其实最重要的改变是用HMVC设计模式取代MVC。至于什么是HMVC?以下几篇文章或许能帮大家理解:

  1. 浅谈HMVC模式
  2. 谈谈HMVC
  3. 说说HMVC

另外,虽然Kohana 3发布了,但Kohana 2还是会继续发展,原Kohana 2的用户可以放心继续使用。如果你是刚学Kohana的话,建议还是学Kohana 3。

和以往一样,Kohana 3的安装非常容易。这里可以下载Kohana 3。解压后,将Kohana文件夹上传到你的网站,当然你可以将文件夹改为任何你喜欢的名字。再来需要改一下权限,请将以下文件夹的权限改为777:

  1. application/cache
  2. application/logs

Continue reading »

PHP防止SQL Injection: Addslashes还是Mysql_real_escape_string

SQL Injection PHP防止SQL Injection: Addslashes还是Mysql real escape string
最近看了几篇关于防止SQL Injection的文章,跟大家分享一下我学到的东西。

PHP防止SQL Injection主要有两种做法,分别应用两个函数:addslashes()和mysql_real_escape_string()。早期一般用addslashes(),现在主要用mysql_real_escape_string(),这两个有什么分别呢?Alan Storm 作了以下的解释:

PHP’s mysql_real_escape_string function will, more or less, ask mysql what character(s) needs to be escaped, where the addslashses function will just add a backslash in front of and any single quote (‘), double quote (“), backslash (\) or NUL (the NULL byte) character.

我翻译如下:

PHP的mysql_real_escape_string函数会分析哪些字元需要进行处理,而addslashes则单纯对所有的单引号(‘),双引号(“),反斜线(\)和NUL字元加入反斜线。

在同一篇文章中,Waage说(翻译):

mysql_real_escape_string会为以下字元加入反斜线:
\x00, \n, \r, \, ‘, ” 和 \x1a. characters.
而addslash只为以下字元加反斜线:
‘ \ and NUL

Continue reading »

通用CSS样式表模版

CSSEditLogo 通用CSS样式表模版
每次设计一个新的网站,我们都要写一个新的CSS样式表,而当中的内容有很多是跟以往的设计类似,甚至一样,像是blockqoute, <h1>至<h6>等设定。因此,我一直想要整理出一个通用的CSS样式表模版(Master Stylesheet),里面包含一些最基本最常用的CSS设定。当开始设计一个新网站的时候,我们首先载入这个模版,就能马上完成了基本的设计,接下来,只要针对这个网站进行细节的设计,如果模版的设定不适合新网站,可以在新网站的CSS文件重写,CSS会自动覆盖模版的设定。

假设我们把模版命名为master.css,而网站的CSS文件为style.css,那我们可以在style.css开头加入以下语句,即可将模版导入:

@import "master.css";

Continue reading »

面向对象PHP教学:MySQL数据库应用

php mysql oop 面向对象PHP教学:MySQL数据库应用
这是一篇以PHP面向对象的方式来实作MySQL数据库的教学,适合对PHP有一定了解的面向对象初学者。我们只实现了最基本的功能,你可以根据自己的需要进行扩充。如果你发现有什么问题或建议,欢迎提出。同时我们也寻求后续教学文章,欢迎推荐。本文的代码主要来自Build Internet.

建立一个数据库和users表

用面向对象来操作MySQL数据库,最主要的部分就是写一个数据库的类。首先我们建立一个数据库跟一个名为users的表,以供教学使用,以下是SQL码:

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `join_date` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

Continue reading »

WordPress 2.9.2 版本发布

wordpress 2.9.2 WordPress 2.9.2 版本发布

WordPress刚刚发布了最新版本2.9.2。这个版本只进行了一个小小的修正,早前Thomas Mackenzie指出,登入了的用户可以回收站(Trash)里看到其他会员的文章,因此WordPress团队针对这个问题进行了修正,并发布2.9.2版本。

官方公布可在这里找到。