思路:
做一个最简单的留言板,首页用于展示留言,点击可以添加留言,添加成功后展示在首页上,首页上的留言以发布时间倒序的形式展示,即最新发布的留言展示在最上面。
技术:
PHP(面向过程),MySQL
成果:
(懒得写CSS样式,辣到眼睛概不负责= =)
过程:
设计数据库:
id(留言编号),user(用户名),title(留言标题),content(留言内容),lastdate(发布时间)
创建对应的目录和文件:
conn.php:
<?php
/*
* 使用配置文件中的服务器,用户名,密码和数据库名称连接和选择数据库
* 数据库连接成功,使用UTF8连接
* 连接失败返回连接错误提示
* */
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "message";
//创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
//检测连接
if(!$conn){
die("连接失败:" . mysqli_connect_error());
}
?>
add.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加留言</title>
<?php
include("add.php")
?>
</head>
<body>
<h1>添加留言</h1>
<hr />
<form action="add.php" method="post">
用户:<input type="text" size="10" name="user"/><br />
标题:<input type="text" name="title"/><br />
内容:<textarea name="content"></textarea><br /><br />
<input type="submit" name="submit" value="发布留言"/>
</form>
</body>
</html>
add.php:
<?php
/*
* 引入conn.php文件,使用post方式是获得各个字段的数据
* 使用if语句提交sql语句插入内容,成功返回提示,返回add页面
* */
include ("conn.php");
/*
* 因为这里的id字段表示的是第几条留言,所以是自动获取的
* 先从数据库获取当前最大的id值
* $result是一个数组,则最大的id值就是数组result的第一个元素result[0]
**/
$maxId = mysqli_query($conn,"select max(id) from msg");
$result = mysqli_fetch_array($maxId);
$id = $result[0] + 1;
//获取从add.html页面提交的字段
$user = $_POST['user'];
$title = $_POST['title'];
$content = $_POST['content'];
if($_POST['submit']){
$sql = "insert into msg (id, user, title, content, lastdate)
values ('$id','$user','$title','$content',now())";
if(mysqli_query($conn,$sql)){
echo "<script>alert('提交成功!返回首页。');
location.href='index.php';
</script>";
} else {
echo "出错:". $sql . "<br>" . mysqli_error();
}
}
?>
index.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言板</title>
<?php
include("add.php")
?>
</head>
<body>
<h1>留言板</h1>
<hr />
<a href="add.html">添加留言</a>
<?php
$sql = "select * from msg order by id desc";
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
?>
<div style="border:1px solid red;margin: 10px 0;">
<h3><?php echo $row['title']; ?></h3>
<h5><?php echo 'By ' . $row['user'] . ' in ' . $row['lastdate']; ?></h5>
<p><?php echo $row['content']; ?></p>
</div>
<?php
}
}
?>
</body>
</html>
完成!
如果这篇文章对你有帮助的话请点帮我点个赞,让我知道我写的文章有帮助到他人哈哈哈,谢谢!