PHP+MYSQL留言本
学编程,我觉得最重要的是动手实践.今天第一天学PHP~~`~为了熟悉下这种语言~~~我开始自己编一个PHP+MYSQL的留言本. 从易到难`~~~先由简单的开始.功能以后慢慢完善. 留言本最基本的功能就是: 1:用户写留言 2:把数据写入数据库 3:显示所有留言
下面就开始制作我的留言本
首先在PHPMYADMIN下建立一 guest_book数据库; 然后在该数据库下建立一个contents的表; 该表下建立两个字段分别为 name 和 content SQL语句如下: CREATE TABLE `contents` ( `id` int(11) NOT NULL auto_increment, `name` varchar(20) NOT NULL default ''no name'', `content` mediumtext NOT NULL, PRIMARY KEY; (`id`) ) TYPE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6
好了数据库建好了 ~~`下面开始写程序了该程序包含三个页面post.htm(留言提交页面) index.php(留言显示页面) updata.php(把数据写入数据库的页面)
post.htm代码如下:<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'><title>留言本</title></head><body> <form action='updata.php' method='post' name='name1'> 姓名:<input type='text' name='user_name'><br> 留言:<textarea name='post_contents' rows='10' cols='50'></textarea> <input type='submit'> </form></body></html>
updata.php页面代码如下:<? $name=$_POST['user_name']; $content=$_POST['post_contents']; $conn=mysql_connect('localhost:6033', 'root', ''); mysql_query('set names utf-8'); //解决中文乱码问题 mysql_select_db('guest_book'); $exec='insert into contents (name,content) values (''.$_POST['user_name'].'',''.$_POST['post_contents'].'')'; $result=mysql_query($exec);?>
index.php页面代码如下:
<?$conn=mysql_connect ('localhost:6033', 'root', ''); //打开MySQL服务器连接mysql_select_db('guest_book'); //链接数据库mysql_query('set names utf-8'); //解决中文乱码问题$exec='select * from contents'; //sql语句$result=mysql_query($exec); //执行sql语句,返回结果while($rs=mysql_fetch_object($result)) {echo '<table><tr><td>姓名:'.$rs->name.'</td></tr>';echo '<tr><td>留言:'.$rs->content.'</td></tr></table><br/>';}?>
至于分页,页面转向等功能暂时不用上去.为得就是使程序尽量精简.麻雀虽小.但是留言本的核心功能全在这里了.
其中还需要再多说几句
$conn=mysql_connect ('localhost:6033', 'root', '');这一句很重要; 一开始我用的是 $conn=mysql_connect ('127.0.0.1', '', '');怎么弄都不见数据进数据库去~~~~但是又没报错~~后来看了半天才知道; 原来哪个127的地方应该在PHPMYADMIN里看服务器名一击数据库端口是什么~~~还有ROOT那里就是mysql用户名了,后面的是密码
还有个问题就是 汉字乱码问题
在$result=mysql_query($exec); 语句前面加上mysql_query('set names gb2312');或者mysql_query('set names utf-8');可疑防止提交进数据库的汉字以乱码形式存放在数据库中 以及防止 从数据库中查询出来的包含汉字的数据以乱码显示
有时候尽管这样设置了后还是无法正常显示汉字~~~~我就遇见了这样的情况,由于我是在本地调试的,每次都要把浏览器上的那个字符编码调到utf-8才能正常显示汉字默认的编码总是ISO-8859-1 于是google了一下`~原来是apache设置不对.于是找到 httpd.conf; 设置文件把 default-character-set=ISO-8859-1 改为 default-character-set=utf-8 然后再 service httpd restart 重启appache; 清除所有cookies与历史记录~~~然后问题就解决了
好了,今天就写到这里`~`明天继续完善这个留言本~~~http://blog.csdn.net/sputnik/archive/2007/02/11/1507954.aspx
相关文章: