第一步

进入mysql操作终端

新建一个数据库web1:create database web1;

然后在这个数据库里面新建一张表test:create table test(user varchar(15),password varchar(18));

表的字段为user和password,这个表用于装入用户登录的用户名和密码;

将自己想要的用户名和密码插入到test表中,这里我插了两条,方便后面验证。

第二步

编写登录页面的index.html文件,用于表单获取数据,在浏览器上显示并且登录跳转到数据处理的login.php页面。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>一个没有过滤的登录</title>
</head>
<body style="background-color:#0066CC">
<h2 align="center" style="color: white">管理后台登录</h2>
<form align="center" action="login.php" method="post" enctype="multipart/form-data">
<!-- 此表单获取的内容将提交给login.php处理,且请求为post -->
<p style="width:100%;height:30px;display:block;line-height:200px;text-align:center;color:white;font-size:16px;">账号:<input type="text" name="user" value="" max="10"></p>
<p style="width:100%;height:30px;display:block;line-height:200px;text-align:center;color:white;font-size:16px;">密码:<input type="password" name="pass" value="" min="6" max="16"></p>
<p style="width:100%;height:30px;display:block;line-height:200px;text-align:center;"><input type="submit" name="submit" value="登录"></p>
</form>
</body>
</html>

第三步

编写后台数据处理的login.php文件,用于连接数据库并且获取用户在index.html上的表单提交的数据,然后在数据库里面查询是否含有此用户和密码,只有同时正确才能返回登录成功。

<?php
$con=mysqli_connect("127.0.0.1","root","root","web1"); //连接数据库,且定位到数据库web1
if(!$con){die("error:".mysqli_connect_error());} //如果连接失败就报错并且中断程序
$user=$_POST['user'];
$pass=$_POST['pass'];
if($user==null||$pass==null){
echo "<script>alert('你不是管理员吧!')</script>";
die("账号和密码不能为空!");
}
function check_param($value=null) { //过滤注入所用的字符,防止sql注入
$str = 'select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';
if(eregi($str,$value)){
exit('参数非法!');
}
return true;
}
if(check_param($user)==true&&check_param($pass)==true){
  $sql='select * from test where user='."'{$user}'and password="."'$pass';";
$res=mysqli_query($con,$sql);
$row=$res->num_rows; //将获取到的用户名和密码拿到数据库里面去查找匹配
if($row!=0)
{
echo "<h1>登录成功,欢迎您&nbsp{$user}!</h1>";
}
else
{
echo "用户名或密码错误";
}
}
?>

第四步

验证

sql注入验证

参考链接:https://blog.csdn.net/cwh0908/article/details/83244954

HTML+PHP+MySQL 制作最基础的登录页面及验证的更多相关文章

  1. koa2+mysql+vue实现用户注册、登录、token验证

    说明: node.js提供接口,vue展现页面,前后端分离,出于编辑器功能和编辑习惯,vue用HbuilderX,node.js用VScode.(PS:仅作为学习笔记,如有不当之处欢迎指出,在此先谢为 ...

  2. 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  3. jQuery Validate (登录页面相关验证)

    $(function() { var submit = false; var superHtml = []; /** * 匹配企业帐号,以字母开头,长度在6-20之间,只能包含字符.数字和下划线. * ...

  4. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  5. MySQL 调优基础(一) CPU与进程

    一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置:另一个层面是从操作系统的层面和硬件的层面来进行调优.操作系统的层 ...

  6. (2.11)Mysql之SQL基础——存储过程与变量

    (2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...

  7. (转)总结之:CentOS 6.5 MySQL数据库的基础以及深入详解

    总结之:CentOS 6.5 MySQL数据库的基础以及深入详解 原文:http://tanxw.blog.51cto.com/4309543/1395539 前言 早期MySQL AB公司在2009 ...

  8. MySQL数据库(一)-- 数据库介绍、MySQL安装、基础SQL语句

    一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 (3)一个程序不太可能仅运行在同一台电脑上 ...

  9. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

随机推荐

  1. Linux Firewalld用法及案例

    Firewalld概述 动态防火墙管理工具 定义区域与接口安全等级 运行时和永久配置项分离 两层结构 核心层 处理配置和后端,如iptables.ip6tables.ebtables.ipset和模块 ...

  2. ubuntu14.04安装mysql5.6.37

    摘抄这篇文档是为了记录自己的日常学习情况,方便以后查看.后边注明了来源,如有不对的地方,希望大家指正,谢谢! 首先从mysql官网上下载所需的离线包,我现在的版本是(mysql-5.6.37-linu ...

  3. 洛谷P1157----组合数的输出

    #include<stdio.h> ] = { ,,,,,,,,,,,,,,,,,,, }; ]; int n, r; ; void dfs(int x) {//x表示当前是第几个数 in ...

  4. margin合并及解决办法

    外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者 水平方向不会发生合并 只有普通文档流中块框的垂直外边距才会发生外边距合并 ...

  5. js—数组那些事儿

    数组维度升级 创建一维数组 //创建一维数组 var a=[]; var b=new Array(); var c=[1,2,'w']; var d=[1,2,[1,2]]; 创建二维数组 var c ...

  6. Spring Boot 2从入门到放弃(持续更新)

    入门 Spring Boot 2项目的搭建和启动(入门篇1) Spring Boot 2项目的搭建和启动(入门篇2) spring boot 2项目自定义父pom Spring Boot 2开发工具s ...

  7. ES6 - 报错整理(1): Unexpected end of JSON input while parsing near '...es":"7.0.0-alpha.11",'

    npm install --save-dev 安装 babel-preset-env时一直报错 Unexpected end of JSON input while parsing near '... ...

  8. Linux忘记root用户的密码

    问题: 由于长时间没有操作过自己安装的虚拟机,导致连root用户的密码都忘了,也真是没谁了. 我使用的是centos6.5,今天就记录一下,如何重置root用户的密码. 操作步骤: 步骤一: 当开机启 ...

  9. workerman离线推送方案

    方案一:目前网上比较流行的 方案二:参考腾迅IM

  10. neo4j学习摘要

    参考 链接:https://gitbook.cn/books/5a33782c5778440a9d906017/index.html