HTML+PHP+MySQL 制作最基础的登录页面及验证
第一步
进入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>登录成功,欢迎您 {$user}!</h1>";
}
else
{
echo "用户名或密码错误";
}
}
?>
第四步
验证


sql注入验证


参考链接:https://blog.csdn.net/cwh0908/article/details/83244954
HTML+PHP+MySQL 制作最基础的登录页面及验证的更多相关文章
- koa2+mysql+vue实现用户注册、登录、token验证
说明: node.js提供接口,vue展现页面,前后端分离,出于编辑器功能和编辑习惯,vue用HbuilderX,node.js用VScode.(PS:仅作为学习笔记,如有不当之处欢迎指出,在此先谢为 ...
- 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- jQuery Validate (登录页面相关验证)
$(function() { var submit = false; var superHtml = []; /** * 匹配企业帐号,以字母开头,长度在6-20之间,只能包含字符.数字和下划线. * ...
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- MySQL 调优基础(一) CPU与进程
一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置:另一个层面是从操作系统的层面和硬件的层面来进行调优.操作系统的层 ...
- (2.11)Mysql之SQL基础——存储过程与变量
(2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...
- (转)总结之:CentOS 6.5 MySQL数据库的基础以及深入详解
总结之:CentOS 6.5 MySQL数据库的基础以及深入详解 原文:http://tanxw.blog.51cto.com/4309543/1395539 前言 早期MySQL AB公司在2009 ...
- MySQL数据库(一)-- 数据库介绍、MySQL安装、基础SQL语句
一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 (3)一个程序不太可能仅运行在同一台电脑上 ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
随机推荐
- GitHub新手教学(从新手安装到初步使用)
版权声明:本文为博主原创文章,转载请标明出处! 博客地址:http://blog.csdn.net/qazwsxpcm https://blog.csdn.net/qazwsxpcm/article/ ...
- Yandex Big Data Essentials Week1 Scaling Distributed File System
GFS Key Components components failures are a norm even space utilisation write-once-read-many GFS an ...
- 获取本机网卡ip地址
import sys, os import socket, struct, fcntl import six import psutil def get_ip(iface="enp0s3&q ...
- FakeLogonScreen抓取Windows凭证
FakeLogonScreen抓取Windows凭证 实践中使用的配置 攻击者: 操作系统: Kali Linux 2020.1 IP: 192.168.1.13 目标: 作业系统: Windows ...
- c#音乐播放器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Django 博客单元测试:测试评论应用
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 评论应用的测试和博客应用测试的套路是一样的. 先来建立测试文件的目录结构.首先在 c ...
- 13.python内置模块之re模块
什么是正则? 正则表达式也称为正则,是一个特殊的字符序列,能帮助检查一个字符串是否与某种模式匹配.可以用来进行验证:邮箱.手机号.qq号.密码.url = 网站地址.ip等.正则不是python语言独 ...
- LOJ #2877. 「JOISC 2014 Day2」交朋友 并查集+BFS
这种图论问题都挺考验小思维的. 首先,我们把从 $x$ 连出去两条边的都合并了. 然后再去合并从 $x$ 连出去一条原有边与一条新边的情况. 第一种情况直接枚举就行,第二种情况来一个多源 bfs 即可 ...
- C++中字符常量与字符常量不能直接相加
定义string变量,并进行初始化,如下: string s1 = "Hello"; string s2 = s1 + "World"; string s3 = ...
- Thingsboard之MQTT设备协议简介
MQTT基础知识 MQTT是一种轻量级的发布 - 订阅消息传递协议,可能使其最适合各种物联网设备.您可以在此处找到有关MQTT的更多信息.ThingsBoard服务器节点充当MQTT Broker,支 ...