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/ ...
随机推荐
- MySQL3:索引
什么是索引 索引是对数据库表中一列或者多列的值进行排序的一种结构,所引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花 ...
- Guava 并行 Futures实例
Future可以用来构建复杂的异步操作,方法不是返回一个值,而是一个Future对象.创建Future对象的过程(比如调用Future异步函数接口),不会阻塞当前线程操作,而且对象第一个次创建没有值, ...
- java提高篇(二三)-----HashMap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...
- 根据BOM和已存在的文件生成文件列表
在BOM中记录中有物料编码,物料名称,物料规格等,而且依据BOM已经生成了相应的文件,如采购规格书,检验规格书等,这个时候需要获得这些文件的标题,并且生成一个列表,可以使用下面的VBA代码,具体代码如 ...
- HOOK技术的一些简单总结
好久没写博客了, 一个月一篇还是要尽量保证,今天谈下Hook技术. 在Window平台上开发任何稍微底层一点的东西,基本上都是Hook满天飞, 普通应用程序如此,安全软件更是如此, 这里简单记录一些常 ...
- Java线程:线程栈模型与线程的变量
Java线程:线程栈模型与线程的变量 要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型. 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶.线程栈的内容是随着程序的运 ...
- Atitit 基于dom的游戏引擎
Atitit 基于dom的游戏引擎 1. 添加sprite控件(cocos,createjs,dom)1 1.1.1. Cocos1 1.1.2. createjs1 1.1.3. Dom模式2 1. ...
- PHP_01之PHP概述、数据、语法
1.定义:PHP Hypertext Preprocessor,超文本预处理器,服务器端脚本语言:2.环境:WAMP:Window+Apache+PHP+MySQL: LAMP:Linux+Apach ...
- input---checked小问题
想必有很多做前端同学都遇到了这么一个问题. 那就是checkbox.那就是我们通过jquery设置选中的时候,发现checked属性已经设置上去了 但是选中的样式却没有. 我们做一个简单的测试:看下面 ...
- 简单使用AutoMapper实现DTO转换
DTO(Data Transfer Object)数据传输对象,只是传输数据,完成与领域对象之间的转换,并不包含领域业务处理. 当领域模型设计人员只关注核心业务,满足于领域模型的精巧,而不关心具体实现 ...