php实现留言功能
php真的挺好玩的!
先写出前台页面index.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
label{
width: 60px;
display: inline-block;
text-align: right;
margin: 0 10px 0 0;
}
@media screen and (min-width: 360px) and (max-width: 767px) {
.content-div{
width: 90%;
margin: 5% auto;
}
.form-ele{
width: 50%;
margin: auto;
}
.content-div h2.head-title{
text-align: center;
}
.form-ele p input[type="text"]{
width: 80%;
}
.f-messages{
width: 80%;
resize: none;
height: 100px;
padding: 10px;
box-sizing: border-box;
}
.submit-btn{
width: 90px;
height: 35px;
background: rgba(0,233,2,0.4);
border: none;
color: block;
font-size: 1.2em;
cursor: pointer;
-webkit-transition:background 0.5s;
-ms-transition:background 0.5s;
-o-transition:background 0.5s;
transition:background 0.5s;
}
.submit-btn:hover{
background: rgba(0,233,2,0.7);
}
}
@media screen and (min-width: 768px) and (max-width: 1199px){
.content-div{
width: 90%;
margin: 5% auto;
}
.form-ele{
width: 50%;
margin: auto;
}
.content-div h2.head-title{
text-align: center;
}
.form-ele p input[type="text"]{
width: 70%;
}
.f-messages{
width: 80%;
resize: none;
height: 100px;
padding: 10px;
box-sizing: border-box;
}
.submit-btn{
width: 90px;
height: 35px;
background: rgba(0,233,2,0.4);
border: none;
color: block;
font-size: 1.2em;
cursor: pointer;
-webkit-transition:background 0.5s;
-ms-transition:background 0.5s;
-o-transition:background 0.5s;
transition:background 0.5s;
}
.submit-btn:hover{
background: rgba(0,233,2,0.7);
}
}
@media screen and (min-width: 1200px) and (max-width: 1365px) {
.content-div{
width: 90%;
margin: 5% auto;
}
.form-ele{
width: 50%;
margin: auto;
}
.content-div h2.head-title{
text-align: center;
}
.form-ele p input[type="text"]{
width: 80%;
}
.f-messages{
width: 80%;
resize: none;
height: 100px;
padding: 10px;
box-sizing: border-box;
}
.submit-btn{
width: 90px;
height: 35px;
background: rgba(0,233,2,0.4);
border: none;
color: block;
font-size: 1.2em;
cursor: pointer;
-webkit-transition:background 0.5s;
-ms-transition:background 0.5s;
-o-transition:background 0.5s;
transition:background 0.5s;
}
.submit-btn:hover{
background: rgba(0,233,2,0.7);
}
}
@media screen and (min-width: 1366px) and (max-width: 1920px) {
.content-div{
width: 90%;
margin: 5% auto;
}
.form-ele{
width: 50%;
margin: auto;
}
.content-div h2.head-title{
text-align: center;
}
.form-ele p input[type="text"]{
width: 80%;
}
.f-messages{
width: 80%;
resize: none;
height: 100px;
padding: 10px;
box-sizing: border-box;
}
.submit-btn{
width: 90px;
height: 35px;
background: rgba(0,233,2,0.4);
border: none;
color: block;
font-size: 1.2em;
cursor: pointer;
-webkit-transition:background 0.5s;
-ms-transition:background 0.5s;
-o-transition:background 0.5s;
transition:background 0.5s;
}
.submit-btn:hover{
background: rgba(0,233,2,0.7);
}
}
</style>
</head>
<body> <div class="content-div">
<h2 class="head-title">留言</h2>
<form action="add.php" method="post" class="form-ele">
<p>
<label for="names">姓名:</label><input id="names" type="text" name="names">
</p>
<p>
<label for="qq">QQ:</label><input id="qq" type="text" name="qq">
</p>
<p>
<label for="email">email:</label><input id="email" type="text" name="email">
</p>
<p>
<label for="messages">留言:</label><textarea id="messages" name="messages" class="f-messages"></textarea>
</p>
<p style="text-align: center;">
<input type="submit" name="sub" value="提交" class="submit-btn">
</p>
</form>
</div> </body>
</html>
效果:

我们要获取的是页面表单POST上来的内容,表单action的目标是add.php,add.php与index.php放在同一目录下(譬如:d:wamp/www/phpfile,服务器用wamp就可以测试)。
下面是add.php的代码:
<?php
if($_POST['names']){
$host="localhost:3306";//本地服务器主机地址
$user = "root";//用户名
$password = "";//密码
$dbname = "phpbook";//数据库名字
$id = mysqli_connect($host,$user,$password,$dbname);//连接数据库,并将结果存在$id中
mysqli_query($id,"set names utf-8");//设置编码
mysqli_select_db($id,$dbname);//选择数据库
$names = $_POST["names"];//获取index.php表单中<input type="text" name="names">的内容
$qq = $_POST["qq"];//同上
$email = $_POST["email"];
$messages = $_POST["messages"];
$sql = "insert into users(names,qq,email,messages) values('$names','$qq','$email','$messages')";//sql语句,将获取的内容插入数据库
mysqli_query($id,$sql);//执行数据库语句
if($result = mysqli_query($id,"select * from users;")){//查询数据库中users中所有内容,并将结果存在$result中
echo "<table border='0'>
<tr>
<th>姓名</th>
<th>qq</th>
<th>email</th>
<th>留言内容</th>
</tr>";
while($row = mysqli_fetch_array($result)){//获取内容存在数组中
echo "
<tr>
<td>".$row['names']."
</td>
<td>".$row['qq']."
</td>
<td>".$row['email']."
</td>
<td>".$row['messages']."
</td>
</tr>
";
}
echo "</table>";
}else{
echo "添加失败";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示留言</title>
<style>
table{
border:none;
border-spacing:0;
width: 90%;
margin: auto;
}
</style>
</head>
<body>
</body>
</html>
效果:

php实现留言功能的更多相关文章
- 我的第一个jsp程序-实现注册登录留言功能
1,注册功能,包括两个页面 zhuce.jsp注册页面 <%@ page language="java" contentType="text/html; chars ...
- 用 JS + LeanCloud 给网页添加数据库(留言功能)
记录给自己网页添加留言功能的过程. 使用工具:LeanCloud,一个自带数据库和增删改查(CRUD)功能的后台系统. 1 在JS中引入LeanCloud官方库 在LeanCloud注册并添加应用的步 ...
- 微信小程序 「柒留言」 — 实现微信公众号留言功能(限时免费入驻,建议收藏)
「柒留言」小程序留言助手使用指南(接近原生界面) 前言 从去年 3 月以后新公众号就没得留言功能了,新申请的微信公众号没有留言功能,没有留言就无法跟读者进行互动,写出去的文章得不到反馈,着实感觉有蛮难 ...
- FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...
- Node.js 博客实例(六)留言功能
原教程https://github.com/nswbmw/N-blog/wiki/_pages的第六章,因为版本号等的原因,在原教程基础上稍加修改就可以实现. 实现用户给文章留言的功能,留言保存在数据 ...
- javascript实现留言功能
原理: 1.用户在留言框输入留言 2.利用textarea的value属性获取到用户输入的留言 3.动态创建一个li 4.将获取的留言打包成html存到li中 5.根据需要添加删除留言.统计留言数量等 ...
- wordpress如何批量关闭旧日志留言功能
于一些wordpress技术博客或者其他wordpress博客来说,一些旧日志的内容可能已经过时了,但是一些读者,还是对一些问题“纠缠不清”或者“喋喋不休”,怎么办,把留言关了就好了: UPDATE ...
- html留言功能
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- JS小练习 留言功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 人人都是 DBA(IV)SQL Server 内存管理
SQL Server 的内存管理是一个庞大的主题,涉及特别多的概念和技术,例如常见的 Plan Cache.Buffer Pool.Memory Clerks 等.本文仅是管中窥豹,描述常见的内存管理 ...
- SpeechLib 语音播报
SpeechLib这的dll专门用来播放语音,能够识别英语.简体和繁体.并且可以播放声音文件,支持WAV格式,但不支持MP3.在报警场合下已经够用了. 基本播放语音及文件.支持异步. using Sy ...
- 一则JVM memory leak解决的过程
起因是我们的集群应用(3台机器)新版本测试过程中,一般的JVM内存占用 都在1G左右, 但在运行了一段时间后,慢慢升到了4G, 这是一个明显不正常的现象. 定位 过程: 1.先在该机器上按照步骤尝试重 ...
- 2种方式解决nginx负载下的Web API站点里swagger无法使用
Web API接口站点,引入了swagger来实时生成在线的api文档,也便于api接口的在线测试.swagger:The World's Most Popular Framework for API ...
- 快速入门系列--WCF--02消息、会话与服务寄宿
经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约.但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?WCF服务是否 ...
- 动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)
× 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 [效果演示] [简要介绍 ...
- 2014牡丹江网络赛ZOJPretty Poem(暴力枚举)
/* 将给定的一个字符串分解成ABABA 或者 ABABCAB的形式! 思路:暴力枚举A, B, C串! */ 1 #include<iostream> #include<cstri ...
- java中并不是任意多个接口都可以实现多实现
interface A{ public abstract void show(); } interface B{ public abstract int show(); } public class ...
- 《BI那点儿事》Microsoft 顺序分析和聚类分析算法
Microsoft 顺序分析和聚类分析算法是由 Microsoft SQL Server Analysis Services 提供的一种顺序分析算法.您可以使用该算法来研究包含可通过下面的路径或“顺序 ...
- Dijkstra算法(一)之 C语言详解
本章介绍迪杰斯特拉算法.和以往一样,本文会先对迪杰斯特拉算法的理论论知识进行介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现. 目录 1. 迪杰斯特拉算法介绍 2. 迪杰斯特拉算法 ...