学了一段时间的PHP了,尝试着做一个PHP+MySQL做出一个具有登录注册界面的留言板页面,尽量考虑安全问题(防爆破,防注入,防越权)

建立数据库

先做一个数据库,我寻思着吧,要做两个表,一个“用户”表两列放用户信息,username和password;另一个“留言信息”表三列放留言信息,标题、内容、时间。

create datdbase message_board;#创建数据库use message_board;
create table admin#创建用户表
(
id int auto_increment,
username varchar(50) not null,#创建容量为50的username列
password varchar(50) not null,#创建容量为50的password列
primary key(id)
)
charset = utf8;create table meas#创建留言信息表
(
id int auto_increment comment 'id',#创建id列
title varchar(20) not null comment'标题',#创建容量为20的title表
content text not null comment'内容',#创建content表
addtime varchar(20) not null comment'时间',#创建容量为20的add time表
primary key(id)
)
charset = utf8;insert into admin values(default,'admin','admin');#创建一个管理员用户

连接数据库

数据库做完之后,做一个连接数据库的PHP,方便数据调用

<?php
$conn = @mysql_connect("localhost","root","root");//连接数据库的函数
mysql_select_db("message_board");//选择数据库
mysql_query("set names utf8");//设置密码
?>

UTF-8

在建立数据库和连接数据库时都是用来utf8相关代码charset = utf8mysql_query("set names utf8"),这里是统一使用了一种页面声明编码UTF-8(8位元,Universal Character Set/Unicode Transformation Format)。UTF-8是一种基于Unicode的通用转换格式(UTF),用1-4个字节为每个字符编码。可以理解为一种适用于大部分非英文的字符编码。

统一使用同种页面声明编码可以防止中文乱码的出现。

前端登陆页面

HTML做一个前端登录页
这个有点麻烦,因为用HTML很多涉及到CSS,但是HTML我其实学的不多,CSS还没开始接触,但我觉得HTML做出来好看一点。所以我会在代码当中做很详细的注释,一来防止自己以后忘了,二来希望和我一样的有缘人看的舒服一点。还有一些没有解决的问题也会在注释中提出。

<html>
<head>
<title>用户登陆</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″><!-- 声明网页使用的是UTF-8编码 -->
<link rel="stylesheet" type="text/css" href="./css/index1.css"><!-- 这里设置了一个链接文档,href连接的文档是一个新样式表,是主页面样式 -->
<style>
</style>
</head>
<body background="16.png";><!--换了一个清爽一点的背景-->
<!--这个地方有一个问题就是这个背景图不是全填充,是原比例,但是我不会调-->
<div>
<table style="width: 30%;height:300px;margin: 0 auto;margin-top:15%;background:#E0FFFF60;border-radius:20px"><!--设置了一个表单的宽度和高度、背景颜色和半透明(#00000060),然后设置了一个居中--><tr><td align="center" ><!--规定了单元格中的居中对齐--><table align="center" width=350 height=230><!--设置表格的居中、大小--><!--标签<td>和<table>都是可以使用align属性的,即规定表格行的对齐方式--><form method ="POST" action = "loading.php" name="frmLogin"> <!--使用POST的方法提交登录,用的是之后要写的loading.php文件实现--><tr align="center"> <td colspan="3" style="font-size:60px;font-family:默陌狂飞侠客体">Login</td><!--设置了单元格横跨两列,规定了字体的大小为50像素--></tr><tr>  <td align="center" style="font-size:30px;font-family:默陌狂飞侠客体">用户名</td>  <td><input type="name" maxlength="20" name="uid" placeholder="Username"  style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;color:#000;padding: 5px;"></td>  <!--规定了输入路径,输入框的居中、大小、边框去掉,只加了下边款,背景设置成白色透明(#ffffff00)--></tr>  <tr>  <td align="center" style="font-size:30px;font-family:默陌狂飞侠客体">密   码</td> <td><input name="password" type="password" maxlength="16" placeholder="Password" style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;padding: 5px"></td></tr><tr align="center"> <td colspan="2"><!--要设置占用两个单元格才能整体居中--><input type="submit" name="login" value="登陆" class="btn" style="background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);color: #fff;width: 200px;height:30px;border-radius:30px;margin-top: 15px;font-size: 18px;border:none;font-family:默陌狂飞侠客体;cursor: pointer;">   <!--margin-top: 30px是设置了一个间距,还加了一个从网上找的渐变,调了一下字体大小、加粗和颜色,加了一个鼠标放上去变手指--></td>  </tr> <tr align="center"> <td colspan="2" ><a href="register.php" target="_blank"><!--跳转登陆页面--><input type="button" name="register" value="注册" style="background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);color: #ffffff;width: 200px;height: 30px;border-radius: 30px;margin-top: 15px;font-size: 18px;font-family:默陌狂飞侠客体;cursor: pointer;border:none;οnclick="window.location.href='register.php'" class="btn"/>   </a></td>  </tr> </form></table></td> </tr>
</table>
</div>
</body>
</html>

做出来是这个样子的

除了背景和下面两个按钮的渐变颜色是在网上找的图,其他的都是HTML写出来的,还有几点温馨提示

  1. HTML当中有一些属性是不建议使用的,这些最好用样式代替,如:使用style="width: 30px;height: 50px"代替width= 30px;height= 50px
  2. 渐变是在这个网站找的WebGradients,免费,无需下载,样式多;
  3. 如果使用CSS的编译器其实不用写的这么难看,但我是记事本没办法
  4. 代码中包含了两个我还没有写的代码文件名,用来实现登录和注册

2.18做了一点修改,换了一个背景,框做了一点变化,加了一个鼠标在按键上变化的效果,连接了注册页面和登录页面。

前端注册页面

<!DOCTYPE html>
<html>
<head>
<title>注册</title>
<meta charset="utf-6">
<link rel="stylesheet" type="text/css" href="./css/index1.css">
<style>
</style>
</head>
<body background="16.png";>
<table style="width: 30%;height:300px;margin: 0 auto;margin-top:15%;background:#E0FFFF60;border-radius:20px"><tr><td align="center" ><form action="doregister.php " name="dl" method="post"><table  align="center" width=350 height=230; style="font-family:宋体;font-size:25px;"><tr align="center"> <td colspan="3" style="font-size:60px;font-family:默陌狂飞侠客体">注册用户</td></tr><tr><td align="center" style="font-size:30px;font-family:默陌狂飞侠客体">用户名</td><td><input type="name" maxlength="20" name="id" placeholder="Username" style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;color:#000;padding: 5px;"></td></tr><tr><td align="center" style="font-size:30px;font-family:默陌狂飞侠客体">密码</td><td ><input name="password" type="password" maxlength="16" placeholder="Password" style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;color:#000;padding: 5px;"></td></tr><tr><td align="center" style="font-size:30px;font-family:默陌狂飞侠客体">再次输入</td><td><input name="confirmPassword" type="password" maxlength="16" placeholder="Password" style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;color:#000;padding: 5px;"></td></tr><tr><td colspan="2" align="center"><input type="submit" name="zu" value="注册" style="background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);color: #fff;width: 200px;height:30px;border-radius:30px;margin-top: 15px;font-size: 18px;border:none;font-family:默陌狂飞侠客体;cursor: pointer;margin-top: 30px;" class="btn"/></td></tr></table></form></td></tr>
</table>
</body>
<html>

做出来是这个样子,明天我再改改样子,今天先把功能大致做完

前端留言页面

<!DOCTYPE html>
<html>
<head><title>我的留言板</title><meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″><!-- 声明网页使用的是UTF-8编码 -->
</head>
<body background="16.png";>
<div>
<table style="width: 80%;height:300px;margin: 0 auto;margin-top:5%;"><tr><td align="center" ><table align="center" style="width: 80%;height= 230px;"><form method ="POST" action="insert.php" name="add"> <!--使用POST的方法提交title和留言,用的是之后要写的insert.php文件实现--><tr align="center"> <td colspan="3" style="font-size:60px;font-family:默陌狂飞侠客体">主题<!--设置了单元格横跨两列,规定了字体的大小为50像素--><input type="text" maxlength="20" name="title" placeholder="Title"  style="text-align:center;border: 0;border-bottom: 2px solid #000; width:200px;font-size:20px;background: #ffffff00;color:#000;padding: 5px;"></td>  </tr><tr>  <td colspan="3" style="font-size:50px;font-family:默陌狂飞侠客体">内容</td></tr>  <tr>  <td><textarea class="form-control" align="center" name="content" rows="30" cols="40" style="width: 100%;height:300px;margin: 0 auto;background:#E0FFFF60;border-radius:30px;border:none;font-size: 30px"></textarea></td><!--这里有几个name注意一点和数据库当中的命名一一对应--></tr><tr align="center"> <td colspan="2"><!--要设置占用两个单元格才能整体居中--><input type="submit" value="发布" class="btn" style="background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);color: #fff;width: 300px;height:50px;border-radius:30px;margin-top: 15px;font-size: 30px;border:none;font-family:默陌狂飞侠客体;cursor: pointer;margin-top: 30px;">   </td>  </tr> <tr align="center"> <td colspan="2" ><a href="index.php" <!--跳转登陆页面--><input type="button" value="注销" style="background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);color: #ffffff;width: 200px;height: 30px;border-radius: 30px;margin-top: 15px;font-size: 18px;font-family:默陌狂飞侠客体;cursor: pointer;border:none;" class="btn"/>   </a></td>  </tr> </table><hr class="hr_t" size=4 color="#999" style="border:1 solid #999;margin-top:3%;"/> <!--这是一条横线--></td> </tr></form>
</table>
</div>
</body>
</html>

页面

后期还想在下面做一个可以原来浏览之前的留言

录入数据库

insert.php

<?php
header("Content - type:text/html;charset=ytf-8");//接收数据
$title = $_POST['title'];
$content = $_POST['content'];
$addtime = date("Y-m-d H:i:s");//年月日,时分秒if ($title == '' || $content == '') {  //echo "标题或内容不能为空!";   echo "<script>alert('标题或内容不能为空!');   window.location.href='add.php';</script>";
exit;}$conn = @mysql_connect("localhost","root","root");//连接数据库
mysql_select_db("message_board");//选择数据库
mysql_query("set names utf8");//设置utf8编码
include ".../public/congif.php"//后面要用的一个功能文档,放在了public当中
$sql = "insert into mes_info values('','{$title}','{$content}','{addtime}')";
$res = mysql_query($sql);
$row = mysql_num_rows($res);if(!$res){echo"<script>alter('添加失败!');window.location.href='add.php';</script>";
}else{echo"<script>alter('添加成功!');window.location.href='index.php';</script>";
}
?>

PHP+MySQL实现留言板功能相关推荐

  1. PHP+MySQL实现留言板功能(一)

    1.登陆注册页面前端设计 由于小编第一次写博客,加上前端知识还不够扎实,本文小编着重处理后端,及PHP连接数据库,实现添加留言,删除留言功能.话不多说,我们直接上代码. 登陆页面设计:我们将其命名为: ...

  2. PHP+MySQL实现留言板功能(二)

    上次我们做了登陆注册页面的前端设计,这一节我们实现登陆和注册 结合上次的登陆注册页面,这次我们先实现注册,那么,我们就要先写注册页面的后端处理代码.我们将其命名为:doregister.php  代码 ...

  3. php实战:html+php+mysql实现留言板功能

    功能描述: 1)实测链接的是远程数据库 2)打开留言板加载留言 3)新添加的留言显示在下方 css代码,用于设置弹框和新添加的留言样式等 <style type="text/css&q ...

  4. php mysql留言板系统_PHP结合Mysql数据库实现留言板功能

    先给大家展示下留言板效果图: 最近看了下PHP基础语法,就想利用这些基本东西实现留言板,也是对基础知识的一个巩固. 什么是留言板?一种可以用来记录,展示文字信息的载体. 现切入正题,说说本次留言板是怎 ...

  5. MySQL 之留言板的功能的实现

    MySQL 之留言板的功能的实现 文章目录 MySQL 之留言板的功能的实现 0x01 创建数据表 1.创建一个数据库 2.选择数据库 3.创建留言表 0x02 创建留言页面 0x03 留言功能实现 ...

  6. 大学生PHP简单网站制作方法 学生PHP网站作业 动态PHP毕业设计 PHP MYSQL在线留言板网站源码

    PHP MYSQL在线留言板网站作品 作品介绍 作品知识点 作品简介绍 作品演示 前端演示图 后台演示图 文件演示图 作品源地址 作品介绍 作品知识点 PHP+MYSQL.会员注册.会员登录.留言的增 ...

  7. php留言板的实验步骤,PHP实现基本留言板功能原理与步骤详解

    本文实例讲述了PHP实现基本留言板功能的方法.分享给大家供大家参考,具体如下: 作为一个PHP的初学者,我试着写了一个留言板,页面有点丑,多多见谅,嘻嘻嘻 #我们写留言板需要用到数据库,所以我们先要建 ...

  8. 基于jsp+sevlet+mysql实现留言板

    基于jsp+sevlet+mysql实现留言板 一.系统介绍 二.功能展示 1.用户登陆 2.用户注册 3.留言信息 4.添加留言 三.获取源码 一.系统介绍 系统主要功能: 用户登陆.用户注册.留言 ...

  9. android中留言板功能,js 实现简易留言板功能

    无标题文档 li{list-style:none;} li{position:relative;width:500px;} a{position:absolute;right:10px;} var c ...

  10. php给留言分配id_简单实现PHP留言板功能

    本文实例为大家分享了PHP留言板功能的具体实现代码,供大家参考,具体内容如下 HTML代码 PHP留言本 留言者: {$vo.nickname} | 邮箱: {$vo.email} 时间: {$vo. ...

最新文章

  1. Android界面开发问题总结
  2. python编程与特征提取_Python进行特征提取的示例代码
  3. Win32中GDI+应用(三)---Graphics类
  4. spring面试问题与答案集锦
  5. 全球及中国混凝土地板行业投资模式分析及前景战略规划报告2022-2027年版
  6. 硬件技巧:如何隐设置的你的电脑U盘不可见
  7. 查找任意数目参数的最大值
  8. SecureCRT 文件下载上传
  9. C#给图片加文字水印
  10. 2019年年终总结及明年的期望
  11. Huffman编解码
  12. 纯净ROM如何制作?手把手教你一键精简内置推广
  13. 在树莓派上实现face++人脸识别
  14. 建议收藏!这10个学习编程的小技巧,万人点赞!
  15. 淘宝详情接口调用示例
  16. 维基百科的网址(没被墙)
  17. Mac环境Terminal安装Python3
  18. 【机器视觉】整合:机器视觉基础知识汇总
  19. 发送订阅消息 微信小程序
  20. python 漏洞扫描器_SRCHunter Python开源漏洞扫描器

热门文章

  1. java持久层框架分析
  2. 解析卷积神经网络学习笔记——魏秀参
  3. Echarts图表的基本使用
  4. 期刊论文分析的技巧与程序
  5. CorelDraw x4无法打开的解决方法
  6. Matlab:实现菲涅尔直边衍射仿真
  7. 【office办公-pdf篇】pdf合并与拆分让我们摆脱付费软件的功能限制好不好
  8. 计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题
  9. matlab计算均值和方差
  10. ArcGIS土地利用重分类(二)通过搭建模型高效完成重分类