PHP+MySQL登录注册,完整版,详细注释
纯手写打造。
下载地址:http://download.csdn.net/detail/qq_33599520/9779970
项目结构:

下面是代码:
<!DOCTYPE html>
<html lang="cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>后台登陆</title>
<link href="css/login.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/login.js"></script>
</head>
<body>
<div class="login">
<div class="message">大数据的事件智能抓取和画像后台登陆</div>
<div id="darkbannerwrap"></div>
<form name="login" action="php/login.php" method="post" onsubmit="return check()">
<input name="name" id="name" placeholder="请输入登录帐号" type="text" required="required" maxlength="16">
<hr class="hr15">
<input name="password" id="password" placeholder="请输入登录密码" type="password" required="required" maxlength="16">
<hr class="hr15">
<input value="登录" style="width:100%;" type="submit" name="submit">
<a href="result.html">注册</a>
<a href="#">忘记密码</a>
<hr class="hr20">
</form>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>后台注册</title>
<link href="css/result.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/result.js"></script>
</head>
<body>
<div class="login">
<div class="message">大数据的事件智能抓取和画像后台注册</div>
<div id="darkbannerwrap"></div>
<form name="result" action="php/result.php" method="post" onsubmit="return check()">
<input name="name" id="name" placeholder="请输入帐号" type="text" required="required" maxlength="16">
<hr class="hr15">
<input name="password" id="password" placeholder="请输入密码" type="password" required="required" maxlength="16">
<hr class="hr15">
<input name="pwd" id="pwd" placeholder="请再次输入密码" type="password" required="required" maxlength="16">
<hr class="hr15">
<input value="注册" style="width:100%;" type="submit" name="submit">
<a href="login.html">返回登录</a>
<a href="#">忘记密码</a>
<hr class="hr20">
</form>
</div>
</body>
</html>
function $(id) {
return document.getElementById(id);
}
function check() {
var password = $("password").value;
if(password == "") {
alert("密码不能为空");
$("password").focus();
return false;
}
if(password.length < 6) {
alert("密码长度必须为6-16位");
$("password").focus();
return false;
}
}
function $(id) {
return document.getElementById(id);
}
function check() {
var password = $("password").value;
var pwd = $("pwd").value;
if(password == "") {
alert("密码不能为空");
$("password").focus();
return false;
}
if(password.length < 6) {
alert("密码长度必须为6-16位");
$("password").focus();
return false;
}
if(pwd != password) {
alert("您两次输入的密码不一致!");
$("pwd").focus();
return false;
}
}
*{
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-box-sizing: border-box;
padding:0;
margin:0;
list-style:none;
box-sizing: border-box;
}
body,html{
height:100%;
overflow:hidden;
}
body{
background:url(../images/web_login_bg.jpg) no-repeat center;
background-size: cover;
}
a{
color:#27A9E3;
text-decoration:none;
cursor:pointer;
}
.login{
margin: 150px auto 0 auto;
min-height: 420px;
max-width: 420px;
padding: 40px;
background-color: #ffffff;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
/* overflow-x: hidden; */
box-sizing: border-box;
}
a.logo{
display: block;
height: 58px;
width: 167px;
margin: 0 auto 30px auto;
background-size: 167px 42px;
}
.message {
margin: 10px 0 0 -58px;
padding: 18px 10px 18px 60px;
background: #27A9E3;
position: relative;
color: #fff;
font-size: 16px;
}
#darkbannerwrap {
background: url(../images/aiwrap.png);
width: 18px;
height: 10px;
margin: 0 0 20px -58px;
position: relative;
}
input[type=text],
input[type=file],
input[type=password],
input[type=email], select {
border: 1px solid #DCDEE0;
vertical-align: middle;
border-radius: 3px;
height: 50px;
padding: 0px 16px;
font-size: 14px;
color: #555555;
outline:none;
width:100%;
}
input[type=text]:focus,
input[type=file]:focus,
input[type=password]:focus,
input[type=email]:focus, select:focus {
border: 1px solid #27A9E3;
}
input[type=submit],
input[type=button]{
display: inline-block;
vertical-align: middle;
padding: 12px 24px;
margin: 0px;
font-size: 18px;
line-height: 24px;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
color: #ffffff;
background-color: #27A9E3;
border-radius: 3px;
border: none;
-webkit-appearance: none;
outline:none;
width:100%;
}
hr.hr15 {
height: 15px;
border: none;
margin: 0px;
padding: 0px;
width: 100%;
}
hr.hr20 {
height: 20px;
border: none;
margin: 0px;
padding: 0px;
width: 100%;
}
.copyright{
font-size:14px;
color:rgba(255,255,255,0.85);
display:block;
position:absolute;
bottom:15px;
right:15px;
}
*{
font: 13px/1.5 '微软雅黑', Verdana, Helvetica, Arial, sans-serif;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-box-sizing: border-box;
padding:0;
margin:0;
list-style:none;
box-sizing: border-box;
}
body,html{
height:100%;
overflow:hidden;
}
body{
background:url(../images/web_result_bg.jpg) no-repeat center;
background-size: cover;
}
a{
color:#27A9E3;
text-decoration:none;
cursor:pointer;
}
.login{
margin: 150px auto 0 auto;
min-height: 420px;
max-width: 420px;
padding: 40px;
background-color: #ffffff;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
/* overflow-x: hidden; */
box-sizing: border-box;
}
a.logo{
display: block;
height: 58px;
width: 167px;
margin: 0 auto 30px auto;
background-size: 167px 42px;
}
.message {
margin: 10px 0 0 -58px;
padding: 18px 10px 18px 60px;
background: #27A9E3;
position: relative;
color: #fff;
font-size: 16px;
}
#darkbannerwrap {
background: url(../images/aiwrap.png);
width: 18px;
height: 10px;
margin: 0 0 20px -58px;
position: relative;
}
input[type=text],
input[type=file],
input[type=password],
input[type=email], select {
border: 1px solid #DCDEE0;
vertical-align: middle;
border-radius: 3px;
height: 50px;
padding: 0px 16px;
font-size: 14px;
color: #555555;
outline:none;
width:100%;
}
input[type=text]:focus,
input[type=file]:focus,
input[type=password]:focus,
input[type=email]:focus, select:focus {
border: 1px solid #27A9E3;
}
input[type=submit],
input[type=button]{
display: inline-block;
vertical-align: middle;
padding: 12px 24px;
margin: 0px;
font-size: 18px;
line-height: 24px;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
color: #ffffff;
background-color: #27A9E3;
border-radius: 3px;
border: none;
-webkit-appearance: none;
outline:none;
width:100%;
}
hr.hr15 {
height: 15px;
border: none;
margin: 0px;
padding: 0px;
width: 100%;
}
hr.hr20 {
height: 20px;
border: none;
margin: 0px;
padding: 0px;
width: 100%;
}
.copyright{
font-size:14px;
color:rgba(255,255,255,0.85);
display:block;
position:absolute;
bottom:15px;
right:15px;
}
<?php
$server="localhost";//主机
$db_username="root";//你的数据库用户名
$db_password="root";//你的数据库密码 $con = mysql_connect($server,$db_username,$db_password);//链接数据库
if(!$con){
die("can't connect".mysql_error());//如果链接失败输出错误
} mysql_select_db('test',$con);//选择数据库(test是数据库名称)
//字符转换,读库
mysql_query("set character set 'utf-8'");
//写库
mysql_query("set names 'utf-8'");
?>
<?PHP
header("Content-Type: text/html; charset=utf8"); if(!isset($_POST["submit"])){
exit("非法访问!");
}//检测是否有submit操作 include('connect.php');//链接数据库 $name = $_POST['name'];//post获得用户名表单值
$passowrd = MD5($_POST['password']);//post获得用户密码单值,使用MD5加密,不可逆 if ($name && $passowrd){//如果用户名和密码都不为空
$sql = "select * from admin where username = '$name' and password='$passowrd'";//检测数据库是否有对应的username和password的sql
$result = mysql_query($sql);//执行sql
$rows=mysql_num_rows($result);//返回一个数值
if($rows){//0 false 1 true
//登录成功
session_start();//启动Session
$_SESSION['name'] = $_POST['name'];
header("refresh:0;url=sucess.php");//如果成功跳转至sucess.php页面
exit;
}else{
echo "用户名或密码错误,请重新登录!";
echo "
<script>
setTimeout(function(){window.location.href='../login.html';},1000);
</script> ";//如果错误使用js 1秒后跳转到登录页面重试;
} }else{//如果用户名或密码有空
echo "用户名或密码填写不完整,请重新登录!";
echo "
<script>
setTimeout(function(){window.location.href='../login.html';},1000);
</script>";
//如果错误使用js 1秒后跳转到登录页面重试;
} mysql_close();//关闭数据库
?>
<?php
session_start();//初始化session
session_destroy();//注销session
header("location:../login.html");//注销session并跳转
?>
<?php
header("Content-Type: text/html; charset=utf8"); if(!isset($_POST['submit'])){
exit("错误执行");
}//判断是否有submit操作 $name=$_POST['name'];//post获取表单里的name
$password=MD5($_POST['password']);//post获取表单里的password,使用MD5加密,不可逆 include('connect.php');//链接数据库 $sql = "select username from admin where username = '$name'";//SQL语句
$result = mysql_query($sql);//执行SQL语句
$num = mysql_num_rows($result);//统计执行结果影响的行数
if ($num) {//如果已经存在该用户
echo "<script>alert('温馨提示:用户存在!'); history.go(-1);</script>";
} else {
$q="insert into admin(id,username,password) values (null,'$name','$password')";//向数据库插入表单传来的值的sql
$reslut=mysql_query($q,$con);//执行sql
if (!$reslut){
die('Error: ' . mysql_error());//如果sql执行失败输出错误
}else{
echo "注册成功";//成功输出注册成功
echo "
<script>
setTimeout(function(){window.location.href='../login.html';},1000);
</script>";
//如果注册成功使用js 1秒后跳转到登录页面;
}
}
mysql_close($con);//关闭数据库
?>
<?PHP
ini_set("error_reporting","E_ALL & ~E_NOTICE");
session_start();//启动Session
if(!$_SESSION['name']){
echo "<script language='javascript'>alert('对不起,您未登录!');history.back();</script>";
}
?>
<html lang="cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>欢迎成功进入首页!</title>
</head>
<body>
<h1>当前登录用户:</h1>
<h2>
<?PHP
echo $_SESSION['name'];
?>
</h2>
<a href="logout.php">注销用户</a>
</body>
</html>
<?php ?>
纯手写,如果有不足之处请谅解。
PHP+MySQL登录注册,完整版,详细注释的更多相关文章
- CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)
转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...
- MySql数据库导出完整版(导出数据库,导出表,导出数据库结构)
MySql数据库导出完整版(导出数据库,导出表,导出数据库结构) 用MySqlCE导出数据库脚本时,如数据库中包含中文内容,则导出异常. 现在可以通过mysqldump.exe直接导出数据库脚本步骤如 ...
- 使用sysbench测试mysql及postgresql(完整版)
使用sysbench测试mysql及postgresql(完整版) 转载请注明出处https://www.cnblogs.com/funnyzpc/p/14592166.html 前言 使用sysbe ...
- CI框架下 新浪微博登录接口完整版
https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...
- Struts2+MySQL登录注册
下载地址:http://download.csdn.net/detail/qq_33599520/9777172 项目结构图: 代码: package com.mstf.action; import ...
- centos6 yum安装mysql 5.6 (完整版)
使用源代码编译安装mysql还是比较麻烦,一般来说设备安装时请网络同事临时开通linux上网,通过yum网络实现快速安装,或配置yum仓库进行内网统一安装. 通过网络快速安装过程如下 一.检查系统是否 ...
- MySQL 锁(完整版)
目录 锁总览 锁的作用 加锁流程 锁对数据库的影响 锁等待 死锁 锁类型 锁范围 锁方式 全局锁 全局读锁 全局QC锁 QC锁存在的问题: 备份锁 backup lock MDL锁 MDL锁类型 MD ...
- Nodejs学习总结 -Express 登录注册示例(二)
项目创建后,我们来做个登录注册实例,详细操作步骤如下. 1.新建项目demo ,具体操作步骤参考上一章内容 https://www.cnblogs.com/Anlycp/ 2.添加mysql和sess ...
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
随机推荐
- yii自己定义CLinkPager分页
在components中自己定义LinkPager.并继承CLinkPager 代码例如以下: <? php /** * CLinkPager class file. * * @author l ...
- event内存泄漏
C#内存泄漏--event内存泄漏 内存泄漏是指:当一块内存被分配后,被丢弃,没有任何实例指针指向这块内存, 并且这块内存不会被GC视为垃圾进行回收.这块内存会一直存在,直到程序退出.C#是托管型代码 ...
- 93.快速搭建Web环境 Angularjs + Express3 + Bootstrap3
转自:https://www.cnblogs.com/wawahaha/p/3946023.html 前言 Angularjs越用越顺手,不仅代码量比jQuery少很多,而且实现思路特别清晰,构建大型 ...
- UISrcoll控件简单介绍
UISrcoll控件,简单的说就是让界面滑动 当使用uiimageview的时候,给控件设置图片素材时,图片的大小会根据控件的大小,自动做缩放 当使用uibutton的时候,如果是设置背景图,name ...
- vue,elementUI切换主题,自定义主题
本文介绍两种elementUI切换主题色的方法 项目示例:http://test.ofoyou.com/theme/ git代码:记得star哦,谢谢 1:官方提供的方法,直接修改scss文件达到修改 ...
- 3ds Max怎么制作亮木材质的球体
3DSMax怎么制作亮木材质的球体?3DSMax中想要设计一款亮木材质的球体,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下! 1.运行软件,选择材质编辑器图标: 3.双击拖拽出的材质 ...
- Linux grep 筛选语句
1. 同时满足多个条件 cat logs.log |grep 123|grep 'abc'|more --查询logs.log中同时满足123和abc的句子 2. 满足任意一个条件 cat ...
- java上传文件工具类
这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...
- 第三方-FastDFS分布式文件系统
1.什么是FastDFS? FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制, 充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标, ...
- Url 简单讲解
eg: http://sb.test.com/login?name=liming&password=twotigers 协议 http https ftp 域名 sb.test.com 则是域 ...