一个留言板

学习了两天的PHP和MySQL,自己写了一个小小的留言板。都说写程序是练出来的,我这也是检验自己的学习成果,同时我也非常乐意把源代码共享出来。唔,极其简陋,欢迎大家吐槽  :-)

#这是我的文件结构

>ls
config.php  index.php  install.php  publish.php  style.css

#一共五个文件,我一次介绍一下功能
#config.php 根据名字来看,这应该是一个配置文件
#index.php 留言板的首页,展示及发布内容
#install.php 留言板安装程序,其实就是自动创建留言板所需要的MySQL库和表
#publish.php 将表单内容反馈到MySQL服务器的程序
#style.css 控制主页的外观样式

#我已经将源代码打包为 board.zip 其中还有一个 说明.txt 文件

这个简易的留言板没有任何的安全措施,代码仅供初学者学习参考,请勿将该系统安装到真实网络中,带来的一切损失,本人概不负责。(看起来好严重的样子 - -|||)

下面是各文件的代码,本着开源精神,各位随意观赏摘抄~

(嘘,我不会告诉别人install.php的部分关键内容正是从w3school里抄过来的)

 1 #config.php
 2 
 3 <?php
 4         //MySQL服务器地址
 5         $db_server_addr = 'localhost';
 6         //MySQL服务器用户名
 7         $db_username    = 'root';
 8         //MySQL服务器登陆密码
 9         $db_password    = 'Eric0328';
10         //MySQL服务器数据库名称
11         $db_database    = 'board';
12         //MySQL服务器数据表名称
13         $db_table_name  = 'messages';
14 ?>
 1 #index.php
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 4   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
 5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 6 <head>                                                             
 7   <meta http-equiv="Content-Type" content="text/html; charset=uft-8" />
 8   <title>留言板</title>                                                
 9   <link rel="stylesheet" type="text/css" href="style.css" />           
10 </head>                                                                
11 <body>                                                                 
12         <div class="all">                                              
13         <div class="head">                                             
14                 <div style="width:83px;float:right;margin-top:20px;"><a href="http://validator.w3.org/check?uri=referer"><img                                                                                             
15       src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a></div>                                                                                                  
16                 <h1>留言板</h1>                                                                              
17         </div>                                                                                               
18 
19         <div class="publish">
20                 <form method="post" action="publish.php">
21                         <table>                          
22                                 <tr>                     
23                                         <td><input class="name" type="text" name="name" value="名字" />     </td>                                                                                                         
24                                         <td><input class="email" type="text" name="email" value="电子邮件" /></td>                                                                                                        
25                                         <td rowspan="2"><input class="pub" type="submit" value="发布留言" name="submit" /></td>                                                                                           
26                                 </tr>                                                                        
27                                 <tr>                                                                         
28                                         <td colspan="2"><textarea class="cont" name="other" cols="105" rows="6">在这里输入留言的内容</textarea></td>                                                                      
29                                 </tr>                                                                        
30                         </table>                                                                             
31                 </form>                                                                                      
32         </div>                                                                                               
33 
34         <div class="content">
35                 <table>      
36                         <?php
37                                 //读取配置信息
38                                 include("config.php");
39                                 //连接数据库          
40                                 $dbc = mysqli_connect($db_server_addr, $db_username, $db_password, $db_database)                                                                                                          
41                                         or die('Error Connect to MySQL Server.');                            
42                                 //倒叙读取数据表的内容                                                       
43                                 $query = " select * from $db_table_name order by id desc;";                  
44 
45                                 $result = mysqli_query($dbc, $query);
46                                 //逐行读取表格内容
47                                 while($row = mysqli_fetch_array($result))
48                                 {
49 
50                                         $id = $row['id'];
51                                         $datetime = $row['datetime'];
52                                         $name = $row['name'];
53                                         $email = $row['email'];
54                                         $content = $row['content'];
55 
56                                         //打印到浏览器
57                                         echo '<tr>';
58                                         echo "  <td class=\"space\" colspan=\"3\"></td>";
59                                         echo '</tr>';
60                                         echo '<tr>';
61                                         echo "  <td class=\"name\">$name</td><td colspan=\"2\" class=\"id\">留言编号:$id</td>";
62                                         echo '</tr>';
63                                         echo '<tr>';
64                                         echo "  <td colspan=\"3\" class=\"content\">$content</td>";
65                                         echo '</tr>';
66                                         echo '<tr>';
67                                         echo "  <td colspan=\"3\" class=\"datetime\">$datetime</td>";
68                                         echo '</tr>';
69 
70                                 }
71                                 //关闭数据连接
72                                 mysqli_close($dbc);
73 
74                         ?>
75 
76                 </table>
77 
78         </div>
79         </div>
80 </body>
81 </html>
 1 #install.php
 2 
 3 <?php                                      
 4         //读取配置文件                     
 5         include("config.php");             
 6 
 7         //连接MySQL数据库
 8         $con = mysql_connect($db_server_addr, $db_username, $db_password);
 9         if (!$con)                                                        
10         {                                                                 
11                 //失败返回错误                                            
12                 die('Could not connect: ' . mysql_error());               
13         }                                                                 
14 
15         //创建数据库
16         if (mysql_query("CREATE DATABASE $db_database",$con))
17         {
18                 echo "数据库创建成功!<br />";
19 
20                 //数据库创建成功后创建数据表格
21                 mysql_select_db($db_database, $con);
22                 $sql = "CREATE TABLE $db_table_name
23                 (
24                 id int,
25                 datetime datetime,
26                 name varchar(30),
27                 email varchar(50),
28                 content text
29                 )";
30 
31                 if( mysql_query($sql,$con) )
32                 {
33                         echo "数据表创建成功!<br />";
34                         echo "安装成功! <a href=\"index.php\">跳转到留言板首页</a>";
35                 }
36                 else
37                 {
38                         //创建表格失败返回错误信息
39                         echo "错误!创建数据表失败: <br />" . mysql_error();
40                 }
41         }
42         else
43         {
44                 //创建库失败返回错误信息
45                 echo "错误!创建数据库失败: <br />" . mysql_error();
46         }
47 
48         //关闭连接
49         mysql_close($con);
50 
51 ?>
 1 #publish.php  
 2 
 3 <?php                                                     
 4         //读取配置文件                                    
 5         include("config.php");                            
 6 
 7         //读取表单填写的内容
 8         $name = $_POST['name'];
 9         $email = $_POST['email'];
10         $content = $_POST['other'];
11 
12         //连接数据库
13         $dbc = mysqli_connect($db_server_addr, $db_username, $db_password, $db_database)
14                                         or die('Error Connect to MySQL Server.');
15 
16         //获得SQL语句: 获取表格中ID最大值
17         $query = "select max(id) from $db_table_name";
18 
19         //向数据库请求
20         $result = mysqli_query($dbc, $query);
21 
22         //验证表中是否有内容
23         if($row = mysqli_fetch_array($result))
24         {
25                 //如有ID,将现有ID自增1
26                 $id = $row['max(id)'] + 1;
27         }else{
28                 //如无ID,将ID设为1
29                 $id = 1;
30         }
31 
32         //获取当前日期时间信息
33         $datetime = date('Y-m-d H:i:s',time());
34 
35         //向数据表中添加数据
36         $query = "insert into $db_table_name (id, datetime, name, email, content) values ('$id', '$datetime', '$name', '$email', '$content');";
37 
38         $result = mysqli_query($dbc, $query);
39 
40         //关闭数据连接
41         mysqli_close($dbc);
42 
43         //跳转回留言板首页
44         echo "<script>location.href='index.php';</script>";
45 
46 ?>
 1 #style.css 
 2 
 3 img {                                    
 4         border: none;                    
 5 }                                        
 6 
 7 body{
 8     background:#CC8022; 
 9 }                       
10 
11 .head {
12     height:70px;
13     top:0px;    
14     border-bottom:5px solid #CC8022;
15     width:800px;                    
16     position:fixed;                 
17     background-color:orange;        
18 }                                   
19 .publish {                          
20     height:137px;                   
21     bottom:0px;                     
22     border-top:5px solid #CC8022;   
23     width:800px;                    
24     position:fixed;                 
25 }                                   
26 
27 .publish table {
28     width:800px;
29         border-collapse: collapse;
30         background-color: orange; 
31         border:none;              
32 }                                 
33 
34 .publish  .pub {
35         width:70px;
36         height:135px;
37         background-color: #FF8000;
38         border:none    ;          
39 }                                 
40 
41 .publish .cont {
42         resize: none;
43         border:none    ;
44         width:  720px;  
45         height: 106px;  
46         background-color: #FFB937;
47 }                                 
48 
49 .publish .name, .publish .email {
50         resize: none;            
51         width:  361px;           
52         height: 21px;            
53         background-color: #FFB937;
54         border:none;
55 }
56 
57 .content {
58     width:800px;
59     margin-top:70px;
60     margin-bottom:137px;
61     background-color:orange;
62 }
63 
64 .content .table{
65     width:800px;
66 }
67 
68 .content .name{
69     width:200px;
70 }
71 .content .id{
72     text-align:right;
73 }
74 .content .content{
75     vertical-align:top;
76     background-color: #FFB937;
77     width:800px;
78     height:100px;
79 }
80 .content .datetime{
81     text-align:right;
82 
83 }
84 .content .space{
85     height: 10px;
86 
87 }
88 .all {
89     width: 800px;
90     margin:0px auto;
91 }

 

转载于:https://www.cnblogs.com/ecstasy/p/3286286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值