首先数据库的SQL如下:
| 代码如下 | 复制代码 |
|
-- -- 表的结构 `message` -- CREATE TABLE `message` ( `id` int(10) NOT NULL auto_increment, `user` varchar(25) character set utf8 NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=11 ; |
|
程序代码如下:
首先创建config.php,代码如下:
| 代码如下 | 复制代码 |
|
<?php $conn = @mysql_connect("localhost","root","") or die("数据库连接出错!"); |
|
然后创建index.php,代码如下:
| 代码如下 | 复制代码 |
|
www.111com.net 户: 标题: 内容:textarea name="content"> php教程" /> | |
接受提交数据保存到数据表中
| 代码如下 | 复制代码 |
|
<?php include("config.php"); if($_POST['submit'] && !empty($_POST['title'])&& !empty($_POST['user'])&& !empty($_POST['content'])) { $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"; mysql_query($sql); //echo "成功"; }?> |
|
查询留言记录
| 代码如下 | 复制代码 |
|
<?php $sql="select * from message order by id desc"; $query=mysql_query($sql); while($row=mysql_fetch_array($query)){ ?> | |
| 标题:<?php echo $row[title];?> 用户:<?php echo $row[user];?> | |
<?php } ?>
原理分析
先来看看入库吧,这个就是最基础的没有进行任何数据判断处理了
| 代码如下 | 复制代码 |
|
if($_POST['submit'] && !empty($_POST['title'])&& !empty($_POST['user'])&& !empty($_POST['content'])) { $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"; mysql_query($sql); //echo "成功"; }?> |
|
判断用户提交过来的数据是不是不为空
$_POST['submit'] && !empty($_POST['title'] && !empty($_POST['user'])&& !empty($_POST['content'] (这里主要是介绍到所有需要填写的不为空了)
安全分析,这个很容易给大家实现sql注入了,因为没进行任何过滤处理了哦,只要网随便搜索一段注入代码就可以成功注入了,同时可以重复无限提交数据
| 代码如下 | 复制代码 |
|
{ $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())"; |
|
这一是保存到数据库,但没进行任何安全处理,一般情况我们不提倡直接把$_POST[user]入库的,是需要经过处理之后再进入变量传递进行入库哦,
查询数据库
| 代码如下 | 复制代码 |
|
$sql="select * from message order by id desc"; |
|
这三句代码实现了数据库查询了,其实也是非常的简单的,我们只是处理了查询并没有任务一些技术处理,如判断是否有值或一次读取多少条记录。