好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP+MYSQL留言本(一) - 综合实例

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 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与历史记录~~~然后问题就解决了

 好了,今天就写到这里`~`明天继续完善这个留言本~~~

查看更多关于PHP+MYSQL留言本(一) - 综合实例的详细内容...

  阅读:39次