PHP+MySQL登录注册,完整版,详细注释

Posted 雨落秋垣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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登录注册,完整版,详细注释的主要内容,如果未能解决你的问题,请参考以下文章

CI框架下 新浪微博登录接口完整版

IDEA实现前端页面登录,注册增删改查操作-完整版

黑马程序员最新版JavaWeb综合案例(前后端完整版)

传智播客2014php就业班8月完整版

低价燕十八主讲大型PHP+Mysql技术视频课程46讲完整版

JavaWeb SpringBoot SSM 婚纱影楼摄影预约网站(源码+sql可直接运行完整版《精品毕设》)主要功能实现:登录,订单,摄影师,级别,标签,摄影地点,客片,轮播图等管理