php简单留言本程序

暑假快要结束了,php也学了有一段时间了。

在写完《学习php和mysql》书上的那个小博客系统后,对php+mysql网站也算有了一点浅显的了解。不过老是做书上的例子也不是很好玩,就想自己做一个小东西。

很快就确定了一个目标,我要做一个留言本。因为网上很多初学者都是从这个程序开始的,我也跟跟风。最终的界面如下:

php留言本

php留言本

首先确定程序功能。程序的功能很简单,通过一个表单搜集用户提交的留言,然后程序将用户提交的信息保存到数据库。

这里我使用了两个表,一个保存用户信息,一个保存留言内容。程序的逻辑很简单,我也不多说了。现在来说下我遇到的一些困难以及解决方法。

1>     mysql数据库中文乱码。

相信很多的php新手在学习的时候都会遇到这个问题。我也遇到过,就在前面写博客程序的时候,那时候我照网上的方法解决。为此我还写了一篇博文《mysql中文乱码解决》。

本以为这次也能照葫芦画瓢,但是试过之后却没有用。没办法,只有继续在网上找解决的办法。

最后确定是字符集的问题,程序编码我都是使用的utf8。所欲需要将数据库的字符集也设置成为utf8.找到my.php将其中的

帮助
1
2
3
character-set-server=utf8
 
default -character-set=utf8

都设置成了utf8,然后在mysql客户端里执行

帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
show variables like “%char%”
 
-----+
 
| Variable_name            | Value
 
|
 
+--------------------------+-------
 
-----+
 
| character_set_client     | utf8
 
|
 
| character_set_connection | utf8
 
|
 
| character_set_database   | utf8
 
|
 
| character_set_filesystem | binary
 
|
 
| character_set_results    | utf8
 
|
 
| character_set_server     | utf8
 
|
 
| character_set_system     | utf8
 
.

我试着select了一下,却:

帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-----+
 
+--------------
 
 
 
| name
 
 
 
+--------------
 
 
 
| 澶х�ㄥ�?
 
 
 
| 澶х�ㄥ�?
 
 
 
| ����姊���
 
 

是乱码,后来才发现我的dos是gb2312字符集的。使用set设置了一下character_set_results几个变量就可以在客户端正 确显示中文了。不过问题到这里还是没有解决。从网页表单输入的中文,php链接mysql查询时还是乱码。这是为什么?我的所以变量都设置成utf8了。 怎么还是不行?在gb2312和utf8之间换来换去,还是没有结果。后来找到了一“神器”,

帮助
1
Mysql_query(“set names utf8”)。

一切OK了。

Mysql中文乱码的问题就这么解决了,虽然不知道“神器”是怎么工作的。但是不要紧,解决目前的问题就好。以后会了解其中内幕的。

2>数据验证

数据验证我使用的php,没有用JS验证。Php也只是简单的验证数据是否为空,以及使用正则表达式验证邮箱与url是否合法。

刚开始的时候得到的textarea的数据始终不对,最后发现我在两个textarea标签之中加入了一个换行。结果post到的数据不是空了。

正则表达式是我认为我学习php的最大障碍,因为实在摸不清楚它讲的的什么。也没有仔细看。无奈,邮箱验证要使用它。只得硬的头皮上了。但是稍微看了一下,觉得它还是比较有趣的。很灵活,验证一个邮箱有很多不同的表达式。在这之中我也稍微学会了一点正则表达式的用法。

经过这个事,让我知道了编程看是看不会的,只有真的去写代码才有可能学会。

3>页面css

Css,真的是一窍不通(从我的博客页面应该就可以看出)。虽然很喜欢那些漂亮的网站,但是自己真的没天赋啊。但总不能显示出一个白白的页面吧。就 在网上找到了数据放到中心的方法。就是text-align:center.还设置了一下背景色和字体颜色,大小。最后得出了下面的页面:

总结:

程序还有很多bug,功能也不是特别完整。

不过不管怎样,凑合看吧。当然欢迎大家去留言测试http://dabentu.com/myguestbook/

以后会添加更多的功能,修复bug。:)

(全文完)

后记:今天将主机换到了香港,相信访问速度应该有所提升。至少我上传文件快多了。

把新的留言本程序放到博客上去了,但是由于主机不支持DB包,只有将mysql的操作改成php原生的函数了。

若非注明,均为原创文章,转载请注明: 转载自大 笨 兔

本文链接地址: php简单留言本程序

你可能感兴趣的:(PHP,留言本)