基础的环境搭建参考:
Apache安装配置(Windows和Linux)-有手就行
PHP安装配置(Windows和Linux)-一篇就够了
PHP连接MySQL-踩坑总结
效果演示
网页:http://123.56.47.42/UIUE/login.html
PHP实现登录注册效果演示
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页</title>
<link href="favicon.ico" rel="shortcut icon" />
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
<link type="text/css" href="css/animatemin.css" rel="stylesheet"/>
<link type="text/css" href="bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet"/>
<link type="text/css" href="css/TGTool.css" rel="stylesheet"/>
<link type="text/css" href="css/model.css" rel="stylesheet"/>
<link type="text/css" href="css/verify.css" rel="stylesheet"/>
<link type="text/css" href="css/login.css" rel="stylesheet"/>
<script type="text/javascript" src="bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/verify.js"></script>
<script type="text/javascript" src="js/TGTool.js"></script>
<style type="text/css">body{background:url(images/loginBg.jpg);background-size: 100% 100%;}</style>
</head>
<body>
<!--注册模态框-->
<div id="modal-container">
<div class="modal-background">
<div class="modal">
<h4 class="modal-title" id="myModalLabel">用户注册</h4>
<form class="form-horizontal">
<div class="modal-body">
<div class="form-group">
<label for="name_add_input" class="col-md-3 control-label">用户名</label>
<div class="col-md-9">
<input type="text" class="form-control" name="name" id="name_add_input" placeholder="name">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label for="password_add_input" class="col-md-3 control-label">密码</label>
<div class="col-md-9">
<input type="password" class="form-control" name="password" id="password_add_input" placeholder="password">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label for="password2_add_input" class="col-md-3 control-label" style="padding:0px 0px">确认密码</label>
<div class="col-md-9">
<input type="password" class="form-control" name="password2" id="password2_add_input" placeholder="password again">
<span class="help-block"></span>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="user_save_btn">注册</button>
<button type="reset" class="btn btn-reset">重置</button>
<button type="button" class="btn btn-default" id="closeBtn">关闭</button>
</div>
</form>
</div>
</div>
</div>
<!-- 搭建显示页面和登录表单 -->
<div id="container">
<!-- 时间 -->
<div class="col-md-4" style="font-size:30px">
<span class="label label-warning">
<span class="glyphicon glyphicon-time" aria-hidden="true">
<span id="time"><script type="text/javascript"> showTime();</script></span>
</span>
</span>
</div>
<!-- 欢迎信息 -->
<div class="col-md-6 col-md-offset-6" style="top:20px">
<p style="font-size:75px;color: #e76f51;font-family: 楷体"><img src="images/logo.png"height="18%" width="18%"><B> 宿心</B></p>
</div>
<div class="col-md-4 col-md-offset-6" style="top:20px">
<I><p style="font-size:33px;color: #f4a261;font-family: 仿宋">天地之大,四海为家!</p></I>
</div>
<!-- 登录表单 -->
<div id="content"class="animate__animated animate__zoomIn animate__delay-0.6s">
<div class="form-group"style="margin-top: -10px;color: #f4a261">
<h3 class="col-sm-5"><B>用户名:</B></h3>
<input type="text" class="form-control input-lg" id="user_login_name" name="loginid" placeholder="请输入用户名"/>
</div>
<div class="form-group"style="margin-top: -10px;color: #f4a261">
<h3 class="col-sm-4"><B>密码:</B></h3>
<input type="password" class="form-control input-lg" id="user_login_password" name="password" placeholder="请输入密码" />
</div>
<I><div class="form-group" id="mpanel1" style="font-size: 18px;color: #5e5e5e;margin-top: 35px"></div></I>
<div class="row">
<div class="col-md-5 "style="margin-top: 20px;margin-left: 13px">
<button class="btnn"id="user_register_btn"><span>注册</span></button>
</div>
<div class="col-md-5 "style="margin-top: 20px;margin-left:12px">
<button class="btnn"id="user_login_btn"><span>登录</span></button>
</div>
</div>
</div>
</div>
<div class="box">
<ul>
<li class="weixin">
<div class="weixin-logo"></div>
</li>
<li class="idea"></li>
<li class="app">
<div class="app-logo"></div>
</li>
</ul>
</div>
<script type="text/javascript">
var verify=false;
let tg = TGTool();
$('#mpanel1').slideVerify({
type : 1,
success : function() {
verify=true;
},
error : function(){
verify=false;
}
});
$("#user_login_btn").on("click", function() {
var id=$("#user_login_name").val();
var pwd=$("#user_login_password").val();
if(id=="")
tg.warning("请输入用户名!");
else if(pwd=="")
tg.warning("请输入密码!");
else if(verify==false)
tg.warning("请完成验证!");
else{
//发送登录请求
$.ajax({
url:"login.php",
type:"POST",
data:{username:$("#user_login_name").val(),password:$("#user_login_password").val()},
success:function (result) {
if(result==100){
tg.success("登录成功!");
setTimeout(function(){
window.location.reload();
},3100);
}
else{
tg.error("用户名或密码错误!");
setTimeout(function(){
window.location.reload();
},3100);
}
}
});
}
})
//点击注册按钮弹出模态框
$("#user_register_btn").click(function(){
//清除表单数据(表单重置)
show_validate_msg("#name_add_input","","");
show_validate_msg("#password_add_input","","");
show_validate_msg("#password2_add_input","","");
$("#name_add_input").val("");
$("#password_add_input").val("");
$("#password2_add_input").val("");
//弹出模态框
$('#modal-container').removeAttr('class').addClass('one');
$('body').addClass('modal-active');
});
//显示校验提示
function show_validate_msg(ele,status,msg){
//首先清空当前元素
$(ele).parent().removeClass("has-success has-error");
$(ele).next("span").text("");
if ("success" == status) {
$(ele).parent().addClass("has-success");
$(ele).next("span").text(msg);
}else if ("error"==status) {
$(ele).parent().addClass("has-error");
$(ele).next("span").text(msg);
}
}
//校验表单数据
function validate_add_form(){
var rtn=true;
//1.拿到要校验的数据,使用jquery正则表达式
var userName = $("#name_add_input").val();
var regName = /(^[a-zA-Z0-9_-]{3,16}$)|(^[\u2E80-\u9FFF]{2,5})/;
if (!regName.test(userName)) {
show_validate_msg("#name_add_input","error","×:2-5中文或3-16英文数字");
rtn= false;
}
else {
show_validate_msg("#name_add_input","success","√");
}
//2.密码校验(两次一样且不为空)
var password1=$("#password_add_input").val();
var password2=$("#password2_add_input").val();
if(password1==""){
show_validate_msg("#password_add_input","error","×:密码不能为空");
rtn= false;
}
else{
show_validate_msg("#password_add_input","success","√");
}
if(password2==""){
show_validate_msg("#password2_add_input","error","×:请再次输入密码");
rtn= false;
}
else if(password1!=password2){
show_validate_msg("#password2_add_input","error","×:输入的两次密码不相同");
rtn= false;
}
else{
show_validate_msg("#password2_add_input","success","√");
}
return rtn;
}
//点击保存,注册用户
$("#user_save_btn").click(function(){
//1.前端校验表单数据
if(!validate_add_form()){
tg.error("注册失败!");
return false;
}
//2.发送ajax请求注册用户
$.ajax({
url:"register.php",
type:"POST",
data:{username:$("#name_add_input").val(),password:$("#password2_add_input").val()},
success:function (result) {
if(result==200){
tg.error("注册失败!");
show_validate_msg("#name_add_input","error","×:该用户名已存在");
}else{
tg.success("注册成功!");
$("#user_login_name").val($("#name_add_input").val());
$("#modal-container").addClass('out');
$('body').removeClass('modal-active');
}
}
});
});
//显示实时时间
function showTime(){
var time = new Date();
nowTime = (time.getMonth()+1)+"-"+time.getDate()+" "+time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();
document.getElementById("time").innerHTML = nowTime;
}
//点击关闭模态框
setInterval("showTime()",1000);
$('#closeBtn').click(function(){
$("#modal-container").addClass('out');
$('body').removeClass('modal-active');
});
</script>
</body>
</html>
(
插播反爬信息)博主CSDN地址:https://wzlodq.blog.csdn.net/
login.php
<?php
error_reporting(0);
header("Content-Type: text/html;charset=utf-8");
//建立连接
$conn = mysqli_connect('localhost','root','改成你的密码');
if($conn){
//数据库连接成功
$select = mysqli_select_db($conn,"uiue"); //选择数据库
if($select){
//数据库选择成功
$user = $_POST["username"];
$pass = $_POST["password"];
//sql语句
$sql_select = "select id,pwd from user where id = '$user' and pwd = '$pass'";
//设置编码
mysqli_query($conn,'SET NAMES UTF8');
//执行sql语句
$ret = mysqli_query($conn,$sql_select);
$row = mysqli_fetch_array($ret);
//用户密码正确
if($row!=null&&$row!=null&&$user == $row['id']&&$pass == $row['pwd']){
echo 100;
}else{
echo 200;
}
}
//关闭数据库
mysqli_close($conn);
}else{
//连接错误处理
die('Could not connect:'.mysqli_error());
}
?>
register.php
<?php
error_reporting(0);
header("Content-Type: text/html;charset=utf-8");
//建立连接
$servername = "localhost";
$username = "root";
$password = "改成你的密码";
$conn = mysqli_connect($servername, $username, $password, 'uiue');
if($conn){
//数据库连接成功
$select = mysqli_select_db($conn,"uiue"); //选择数据库
$user = $_POST["username"];
$pass = $_POST["password"];
mysqli_set_charset($conn,'utf8'); //设置编码
//sql语句
$sql_select = "select id from user where id = '$user'";
//sql语句执行
$result = mysqli_query($conn,$sql_select);
//判断用户名是否已存在
$num = mysqli_num_rows($result);
if($num){
//用户名已存在
echo 200;
}else{
//用户名不存在
$sql_insert = "insert into user(id,pwd) values('$user','$pass')";
//插入数据
$ret = mysqli_query($conn,$sql_insert);
$row = mysqli_fetch_array($ret);
echo 100;
}
//关闭数据库
mysqli_close($conn);
}else{
//连接错误处理
die('Could not connect:'.mysqli_error($conn));
}
?>
源码
番外
最近事情越来越多了,比赛、实验、大作业、项目、考试,已经很难挤出时间写博客了,十一月产量也不高,但是我会更的(咕咕咕)。
原创不易,请勿转载(
本不富裕的访问量雪上加霜)
博主首页:https://wzlodq.blog.csdn.net/
微信公众号:仄lo咚锵
如果文章对你有帮助,记得一键三连❤