来源:www.cncfan.com | 2006-1-11 | (有2232人读过)
今天在网上偶尔看到了一个留言本程序,是用php结合mysql编写的,我觉得程序需小,但是其中的许多做法较为经典。现谨将我的一点浅见总结如下: 该留言本所能实现的功能很简单,就是用户留言,并给管理员一个删除留言的管理界面。包含了七个php源代码,分别是gb.sql(建库程序)、index.php(用户主程序)、admin.php(管理员主程序)、page.inc.php(页面处理子程序)、form.inc.php(表单处理子程序)、connect.inc.php(数据库连接参数设置)、chinese.inc.php(中文信息处理)和chinese.lang.inc.php(中文信息处理)。 首先,我们先看看gb.sql: CREATE TABLE guestbook ( zeit varchar(25) NOT NULL,(时间) name varchar(50) NOT NULL,(姓名) email varchar(50) NOT NULL,(email) url varchar(200) NOT NULL,(主页) titel varchar(200) NOT NULL,(主页主题) kommentar blob NOT NULL,(留言内容) host varchar(100) NOT NULL,(发言人ip地址) id int(4) DEFAULT '0' NOT NULL auto_increment,(序号) PRIMARY KEY (id) ); 这里好象有几个字段名不是英文,可能原作者的母语不是英语吧。但是尽管这样,我们应该承认该表的设计还是很合理,几乎没有不合适的字段,从我们后面的介绍中可以看出,作者设计的这个表在这里的应用中是多么的方便。 在表中所有的字段都设置为不能为空,虽然有点极端,但是代表了数据库设计的一种趋向;表中所涉及的所有字段都同样的重要,既然重要,你就得填。于是我们在最底层的数据库中就可以将该字段设计为不能为空。 表中的所有字符类字段除了kommenter设计为blob,其它的都别无另外地选择了varchar,varchar在存储空间上比char要节省得多,在这里充分体现了存储的效率。 表中还定义了一个自增的字段id,并用它做主键。在这里要特别注意的是主键最好是建立在int或char类型的字段上,这样在数据库的处理上会快捷得多。 另外,作者还提供了我们一个很好的做法,那就是将生成table的sql语名存储成文本文件。在程序设计过程中应特别注意这件事,这将给你的程序的移植提供极大的方便。 在下一节中,我们将对index.php的经典做法进行分析。
|