新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。 最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。 1.首先是提交留言的表单guessbo
新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。
最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。
1.首先是提交留言的表单guessbook.php,提交至post.php。
2.数据库的连接config.php
<span>php </span><span>$con</span> = <span>mysql_connect</span>("localhost","user","passwd"<span>); </span><span>if</span>(!<span>$con</span><span>) </span><span>die</span>('Could not connect: ' . <span>mysql_error</span><span>()); </span><span>mysql_query</span>("set names utf8"); <span>//</span><span>以utf8读取数据</span> <span>mysql_select_db</span>("dbname",<span>$con</span>); <span>//选择</span><span>数据库</span> ?>
3.对用户留言进行验证post.php
在我们把数据插入数据库时,为了让我们输入的数据在显示时仍然保持最初的形式,就必须对数据进行一些处理。比如如果不转义直接显示,比如js代码,就会直接在你的页面中运行。
这里用到了htmlspecialchars函数。不过htmlspecialchars不会转义换行符\r\n号,也就是说如果你插入的数据中包含了换行,当你进行转义显示时,该函数不会显示换行。所以在显示数据时需要用到nl2br函数。
<span>php </span><span>header</span>("content-Type: text/html; charset=utf-8"<span>); </span><span>include</span>("config.php"); <span>//</span><span>数据库连接</span> <span>$name</span>= <span>$_POST</span>['name'<span>]; </span><span>$email</span>= <span>$_POST</span>['email'<span>]; </span><span>$patch</span> = <span>$_POST</span>['content']; <span>//</span><span>获取游客提交信息</span> <span>if</span> (<span>$name</span>=="" || <span>$email</span>=="") <span>//</span><span>游客未填写用户名和邮箱处理</span> <span> { </span><span>echo</span> "<script>alert('请检查用户名和邮箱输入!');location.href='./guessbook.php';</script>"<span>; } </span><span>else</span><span> { </span><span>//</span><span> 对游客留言进行处理 </span> <span>$content</span> = <span>str_replace</span>("","<br>",<span>htmlspecialchars</span>(<span>$patch</span><span>)); </span><span>//</span><span>插入数据库语句</span> <span>$sql</span> = "insert into content (name,email,content,time) values ('<span>$name</span>','<span>$email</span>','<span>$content</span>',now())"<span>; </span><span>mysql_query</span>(<span>$sql</span><span>); </span><span>//</span><span>插入成功,返回信息</span> <span>echo</span> "<script>alert('提交成功!返回查看!');location.href='./guessbook.php';</script>"<span>; } </span>?>
4.展示用户留言列表,可在guessbook.php留言表单下面展示。
<span>include</span>("config.php"<span>); //连接数据库 </span><span>$sql</span>="select * from content"<span>; //数据库查询语句,content为该用户留言的表。 </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span>,<span>$con</span><span>); </span>
User | Content | Time |
---|---|---|
echo $row[1] ?> | echo nl2br($row[3]) ?> | echo $row[4] ?> |
5.基本结果: 经CSS 修饰后的结果如下:
http://www.phptogether.com/archives/10907