使用php、html、SQL和mysql数据库做一个简单的留言板(效果如图)
大体的思路:
- 先用html写出界面。
- 然后用php获取用户输入的留言内容。
- 接着把获取的留言内容用php存放到数据库中。
- 然后使用php访问数据库获取留言内容。
- 把获取到的留言展示在网页中。
- 刷新网页。
代码文件结构
实现过程
1.先用html写出界面(可以使用css美化界面,也可以用php做一个留言分页)。
index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>留言板</h1>
<form action="save.php" method="POST">
<input type="text" name="message" value="">
<input type="submit" name="" value="提交" >
</form>
<ol>
<!--展示留言的地方,可以使用php做一个分页功能-->
<!--使用php中的foreach遍历从数据库得到的留言数组-->
</ol>
</body>
</html>
2.连接数据库,然后用php获取用户输入的留言内容。
2.1创建数据库
数据库只有简单的一张表两个字端(id 和 message)数据库名称TEST,用户名root,密码password,表名message,两个字端id 和 message。
2.2设置配置文件
连接数据库时把配置文件单独存放在一个配置文件中
config.inc.php
配置文件config.inc.php
<?php
//数据库的地址
define("DB_ADDRESS","localhost");
//数据库用户名
define("ACCOUNT_NAME","root");
//数据库用户名对应的密码
define("PASSWORD","password");
//数据库的名字
define("DB_NAME","TEST");
//数据库表的名字
define("TABLE_NAME","message");
//数据库字段的名字
define("FIELD_NAME","message");
?>
2.3连接数据库
保存数据需要连接数据库,查询数据页需要连接数据库,所以把连接数据库写成一个函数connect()封装起来放在connect.inc.php文件中。
<?php
//引入配置文件,用于连接数据库
include_once "config.inc.php";
function connect()
{
//1.与mysql数据库连接
$link = @mysqli_connect(DB_ADDRESS, ACCOUNT_NAME, PASSWORD, DB_NAME);
//连接错误时提示
$error = mysqli_connect_error();
//如果有错误的话,输出提示消息,结束程序
if(!$link)
{
echo "数据库连接失败:";
exit($error);
}
else
{
//echo "数据库连接成功";
//var_dump($link);
//设置字符编码
mysqli_set_charset ( $link , "utf8" );
//选择数据库,只用到一个所以不用切换
// mysqli_select_db ( $link , $DB );
}
return $link;
}
?>
3.保存用户留言到数据库中
save.php
<?php
include_once "connect.inc.php";
include_once "config.inc.php";
//将post中的内容先保存到变量content中
$content = $_POST;
//提取用户的留言
$message = $content['message'];
//测试查看 用户内容是否成功提取出来了
//var_dump($content["message"]);
//成功提取内容后,连接数据库
//现在在数据库中保存数据需要连接数据库,
//以后在数据库中查找数据也要连接数据库,所以写一个connect.inc.php的文件
//封装一个连接数据库的函数connect()
$link = connect();
//var_dump($message);
//var_dump($link);
$add_message = "insert into ".TABLE_NAME."(".FIELD_NAME.") values('$message')";
//$add_message = 'insert into message(message) values("$message")';
var_dump($add_message);
//保存执行sql语句的状态,如果执行失败提示
$execute_sql = mysqli_query($link, $add_message);
if($execute_sql===TRUE)
{
echo "插入SQL语句执行成功!";
//留言成功后跳转到首页(刷新页面)
header("location:index.php");
}
else
{
exit("SQL语句出错了");
}
?>
4.然后使用php访问数据库获取留言内容。
query_message.ini.php
<?php
include_once "config.inc.php";
include_once "connect.inc.php";
function getMessage()
{
//连接数据库
$link = connect();
//SQL语句
$qurey_message = "select * from message";
//保存解析结果
$result = mysqli_query($link,$qurey_message);
//将从数据库获取的留言保存在message中
$message = mysqli_fetch_all($result,MYSQLI_ASSOC);
//把从数据中得到的留言数组返回
return $message;
}
?>
5.把获取到的留言展示在网页中。
index.php
<!--使用php中的foreach遍历从数据库得到的留言数组-->
<?php
include_once "query_message.ini.php";
$message = getMessage();
//var_dump($message) ;
foreach($message as $i)
{
$i = $i['message'];
echo "<li>$i</li>";
}
?>
还可以在加上留言的用户名,留言的时间,把留言做一个分页展示。