RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> PHP基础 >> 基础文章 >> 文章内容
PHP+MYSQL编程留言本实例(一)
[收藏此页[打印本页]   
来源:互联网  作者:网络转载  发布时间:2008-01-02

 

留言本最基本的功能就是:
  1:用户写留言
  2:把数据写入数据库
  3:显示所有留言

www~phperz~com


  下面就开始制作我的留言本
  首先在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 AUTO_INCREMENT=6 www~phperz~com


好了数据库建好了 ~~`下面开始写程序了
该程序包含三个页面post.htm(留言提交页面) index.php(留言显示页面) updata.php(把数据写入数据库的页面)
post.htm代码如下:
<html>
<head>
<meta http-equiv="Content-Type" c>
<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", ""); www.phperz.com
   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);
?>

php程序员站

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/>";
}?> www.phperz.com

至于分页,页面转向等功能暂时不用上去.为得就是使程序尽量精简.麻雀虽小.但是留言本的核心功能全在这里了.
其中还需要再多说几句
$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  设置文件

phperz~com


把 default-character-set=ISO-8859-1 改为 default-character-set=utf-8
然后再 service httpd restart 重启appache  清除所有cookies与历史记录~~~然后问题就解决了
www~phperz~com

 

php程序员站


 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 基础  mysql  url  adodb
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长