当前位置: 首页 > news >正文

HTML+CSS+PHP实现网页留言板功能(需要创建数据库)

话说前头,我这方面很菜滴。这是我网页作业的一部分。

1.body部分效果展示(不包括footer)

e7763df6b58149fb89f51fbcb00400ad.png

8d8e22dfce9847448c6ddc8dca1f69d6.jpeg

2、代码

2.1 leaving.php(看到的网页)

<!DOCTYPE html>  
<html lang="en">  
<head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>留言板</title>  <link rel="stylesheet" href="leaving_styles.css">  
</head>  
<body>  <header >  <h1>…………</h1>  </header> <div class="le"><h2>留言板</h2>  <div class="in"><form action="post_message.php" method="post">  <textarea name="message" rows="5"  placeholder="输入你的留言..."></textarea> <br><input class="in" type="submit" value="提交">  </form> </div><table> <tr><td><div id="message-container" >  <?php include 'display_messages.php'; ?>  </div></td></tr></table></div><footer>  <p>留言板 &copy; 2024 草海桐</p>  </footer>  
</body>  
</html>

2.2 leaving_styles.css

body {  font-family: Arial, sans-serif;  margin: 0;  padding: 0; justify-content: center;  align-items: center;  background-color: rgba(224, 255, 255, 1);
}  header {  width: 100%;height: 200px;background-image: url('.jpg');  background-size: cover; background-position: center; text-align: center;margin: auto;
} h1{}h2{display: flex;justify-content: center; padding: 0;margin: 0;
}/*.le{margin: 0; padding: 20px; text-align: center;align-items: center;background-color: rgba(224, 255, 255, 1);    
}*/
.le{width: auto;top: 200px;bottom: 0;left: 0;text-align: center;align-items: center;margin: 0;padding: 10px;background-size:cover;position: absolute;right: 0;
}   
.in{justify-content: center;
}
textarea{width: 65%;
}form{text-align: center;padding: 10px; align-items: center;
}
table{border-collapse: collapse; align-items: center;text-align: center;bottom: 0;
} 
tr{align-items: center;text-align: center;
}
td{text-align:center ;align-items: center;
}
#message-container{  text-align: center;align-items: center;max-height: 350px;overflow-y: auto; padding: 0;border: 2px solid black; background-color: rgba(255, 255, 255, 1);  
}@media screen and (max-width: 400px) {  #message-container{  align-items: center;text-align: center;max-height: 220px;width: auto;overflow-y: auto; padding: 0;border: 2px solid black; background-color: rgba(255, 255, 255, 1);  }
}footer {  background-color: #333;  color: #fff;  text-align: center;  position: fixed;  left: 0;  bottom: 0;  width: 100%;  
}  

2.3 post_massage.php

<?php  
$servername = "localhost"; 
$username = "";//用户名
$password = "";//密码
$dbname = "";//数据库名称$conn = new mysqli($servername, $username, $password, $dbname);  if ($conn->connect_error) {  die("连接失败: " . $conn->connect_error);  
}  $message = $conn->real_escape_string($_POST['message']);  $sql = "INSERT INTO messages (content) VALUES ('$message')";  
if ($conn->query($sql) === TRUE) {  echo "留言成功添加!";  header("Location: leaving.php");exit();  
} else {  echo "Error: " . $sql . "<br>" . $conn->error;  
}  $conn->close();  
?>

2.4 display_massages.php

<?php  
$servername = "localhost";  
$username = "";//用户名  
$password = "";//密码
$dbname = "";//数据库名称$conn = new mysqli($servername, $username, $password, $dbname);  if ($conn->connect_error) {  die("连接失败: " . $conn->connect_error);  
}  $sql = "SELECT * FROM messages ORDER BY timestamp DESC";  
$result = $conn->query($sql);  if ($result->num_rows > 0) {  while ($row = $result->fetch_assoc()) {  echo "<p>提交时间:" . $row["timestamp"]  . "<br>". nl2br($row["content"])."<hr></p>";  }  
} else {  echo "目前还没有留言。";  
}  $conn->close();  
?>

 

相关文章:

  • VB点击按钮,改变按钮的文字和字体
  • Java 枚举详解与应用
  • 烟雾自动监测识别摄像机
  • AI 已经在污染互联网了。。赛博喂屎成为现实
  • Canonical Juju 的一个奇怪编排部署
  • 哈喽GPT-4o——对GPT-4o 编程的思考与看法
  • 2024人工智能指数报告(二):技术性能
  • Linux 中断实验
  • 20240619火车头采集器GPT改写插件介绍文档
  • 速盾:使用 CDN 可以隐藏 IP 吗?该怎样应对防御?
  • 【PyTorch 新手基础】Regularization -- 减轻过拟合 overfitting
  • Talk|香港科技大学冯宸:高效自主的大尺度场景空中覆盖与重建
  • unity 打包PC安装包中常见文件的功能
  • MFC基础学习应用
  • STM32多功能交通灯系统:从原理到实现
  • [译]Python中的类属性与实例属性的区别
  • 4. 路由到控制器 - Laravel从零开始教程
  • ES2017异步函数现已正式可用
  • extjs4学习之配置
  • JavaScript新鲜事·第5期
  • ng6--错误信息小结(持续更新)
  • underscore源码剖析之整体架构
  • Vue学习第二天
  • 前端_面试
  • 如何进阶一名有竞争力的程序员?
  • 使用agvtool更改app version/build
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 写给高年级小学生看的《Bash 指南》
  • ​水经微图Web1.5.0版即将上线
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #HarmonyOS:Web组件的使用
  • #ifdef 的技巧用法
  • #WEB前端(HTML属性)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Git) gitignore基础使用
  • (k8s中)docker netty OOM问题记录
  • (LeetCode) T14. Longest Common Prefix
  • (二)丶RabbitMQ的六大核心
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET MVC第三章、三种传值方式
  • .net 设置默认首页
  • .NET连接数据库方式
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET中两种OCR方式对比
  • /dev/sda2 is mounted; will not make a filesystem here!
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @Import注解详解
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ solr入门 ] - 利用solrJ进行检索