首页 > 开发 > PHP > 正文

php简单的留言板实例程序

2024-05-04 23:06:30
字体:
来源:转载
供稿:网友

下面是一个简单的留言板例子,包括创建mysql数据表与连接mysql数据库然后对数据表的查询,提交保存数据与数据删除功能,这其实就是一个最基本的留言板功能了,下面直接上例子.

首先数据库的SQL如下:

  1. -- -- 表的结构 `message` -- 
  2. CREATE TABLE `message` (   `id` int(10) NOT NULL auto_increment,   `uservarchar(25) character set utf8 NOT NULL
  3. `title` varchar(50) character set utf8 NOT NULL,   `content` tinytext character set utf8 NOT NULL,   `lastdate` date NOT NULL
  4. PRIMARY KEY  (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=gbk AUTO_INCREMENT=11 ; 

程序代码如下,首先创建config.php,代码如下:

  1. <?php $conn = @mysql_connect("localhost","root",""or die("数据库连接出错!"); 
  2. mysql_select_db("lyb",$conn); mysql_query("set names utf8"); ?> 
  3. 然后创建index.php,代码如下: 
  4.  代码如下 复制代码 
  5. <form action="index.php" method="post"> <table border="1" align="center" > 用 www.Vevb.com 户:<input type="text" name="user" /><br> 
  6. 标题:<input type="text" name="title" /><br /> 内容:<textarea name="content"></textarea><br /> 
  7. <input type="submit" name="submit" value="php教程" /></table> </form> 

接受提交数据保存到数据表中,代码如下:

  1. <?php include("config.php"); 
  2. if($_POST['submit'] && !emptyempty($_POST['title'])&& !emptyempty($_POST['user'])&& !emptyempty($_POST['content'])) 
  3. $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"
  4. mysql_query($sql); //echo "成功"; } 
  5. ?> 

查询留言记录,代码如下:

  1. <table width=500 border="1" align="left" cellpadding="5" cellspacing="1" bgcolor="#add3ef"
  2. <?php $sql="select * from message order by id desc"$query=mysql_query($sql); while($row=mysql_fetch_array($query)){ ?> 
  3. <tr bgcolor="#eff3ff"> <td>标题:<?php echo $row[title];?> 用户:<?php echo $row[user];?></td> </tr> <tr bgColor="#ffffff"
  4. <td>内容:<?php echo $row[content];?></td> </tr> 
  5. <?php } ?> 

原理分析,先来看看入库吧,这个就是最基础的没有进行任何数据判断处理了,代码如下:

  1. <?php 
  2. if($_POST['submit'] && !emptyempty($_POST['title'])&& !emptyempty($_POST['user'])&& !emptyempty($_POST['content'])) 
  3. $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"
  4. mysql_query($sql); //echo "成功"; }?> 

判断用户提交过来的数据是不是不为空

$_POST['submit'] && !empty($_POST['title'] && !empty($_POST['user'])&& !empty($_POST['content'],这里主要是介绍到所有需要填写的不为空了.

安全分析,这个很容易给大家实现sql注入了,因为没进行任何过滤处理了哦,只要网随便搜索一段注入代码就可以成功注入了,同时可以重复无限提交数据,代码如下:

  1. $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"

这一是保存到数据库,但没进行任何安全处理,一般情况我们不提倡直接把$_POST[user]入库的,是需要经过处理之后再进入变量传递进行入库哦.

查询数据库,代码如下:

  1. $sql="select * from message order by id desc";  
  2. $query=mysql_query($sql);  
  3. while($row=mysql_fetch_array($query)) 

这三句代码实现了数据库查询了,其实也是非常的简单的,我们只是处理了查询并没有任务一些技术处理,如判断是否有值或一次读取多少条记录.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表