本登录平台使用PHP语言编写,总共分为三个界面,登录注册界面,登录跳转界面和注册跳转界面,功能简单,逻辑清晰
搭建WAMP环境,Windows+Apache+Mysql+PHP
登录注册界面:
<!DOCTYPE html>
<html lang="en">
<body>
<meta charset="UTF-8">
<div id="web_bg" style="position: absolute; width: 693px; height: 806px; z-index: -1; left: -2px; top: 0px;">
<img style="position:fixed;" src="background.jpg" height="100%" width="100%" />
</div>
<title>授权码注册与登录平台</title>
<style type="text/css">
h1 {
color: #000;
}
</style>
<h1 align="center"> <strong><img src="头像.png" width="150" height="150" align="absmiddle"> 新用户注册</strong></h1>
<hr>
<form name="form1" method="get" action="ZC_go.php" >
<div align="center">
<table width="345" height="140">
<tr>
<td width="284"><div align="left">请输入用户名:
<input type="text" name="username">
</div></td>
</tr>
<tr>
<td><div align="left">请您输入密码:
<input type="password" name="password">
</div>
</td>
</tr>
<tr>
<td><div align="left">请您确认密码:
<input type="text" name="re_password">
</div></td>
</tr>
<tr>
<td><div align="right">
<input type="submit" value="注册">
<input type="reset" value="重置">
</div></td>
</tr>
</table>
</div>
<p align="center"> </p>
</form>
<form name="form2" method="get" action="DL_go.php" >
<div align="center">
<table width="345" height="140">
<tr>
<td width="284"><div align="right">请输入用户名:
<input type="text" name="username">
</div></td>
</tr>
<tr>
<td><div align="right">请输入密码:
<input type="password" name="password">
</div>
</td>
</tr>
<tr>
<td><div align="right">请输入授权码:
<input type="text" name="sqm">
</div></td>
</tr>
<tr>
<td><div align="right">
<input type="submit" value="登录">
<input type="reset" value="重置">
</div></td>
</tr>
</table>
</div>
<p align="center"> </p>
</form>
</body>
</html>
登录跳转界面
<html>
<div id="web_bg" style="position: absolute; width: 693px; height: 806px; z-index: -1; left: -2px; top: 0px;">
<img style="position:fixed;" src="denglu.gif" height="100%" width="100%" />
</div>
<?php
error_reporting(0);
header("Content-Type: text/html; charset=utf-8");
mysql_query("set names utf8");
$con = mysql_connect("localhost","root","")or die("数据库连接错误");
$username=$_GET['username'];//用户名
$password=$_GET["password"];//密码
$sqm=$_GET["sqm"];//确认密码
date_default_timezone_set('Asia/Shanghai');//这是设置时区的
$dl_time = time();//获取当前的时间戳;
$a=$_COOKIE['birth_time'];
$b=$dl_time-$a;//已经使用的时长
$c=$_COOKIE['time_total'];//总共的时间
$remain=$c-$b;//剩余时间
$d = intval(($remain )/ 86400);//算出剩下的天数ceil()是向上取整函数
$h = intval((($remain) % 86400) / 3600);//算出剩下的小时数
$m = intval((($remain) % 3600) / 60);//算出剩下的分钟数
$s = intval(($remain) % 60);//算出剩下的秒数
if ($username != "" && $password != "" && $password != "" && $sqm != "") {
mysql_select_db('users', $con);
$sql = "select username from users where username='$username'";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
if ($rows > 0) {
//echo "用户名输入正确";
mysql_select_db("users", $con);
$sql = "select password from users where (password='$password')";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
if ($rows > 0) {
mysql_select_db("users", $con);
$sql = "select sqm from users where (sqm='$sqm')";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
if ($rows > 0 && $s>0) {
echo "恭喜您登录成功","<br>";
echo "此授权码距有效期还有:<strong>$d</strong>天<strong>$h</strong>小时<strong>$m</strong>分钟<strong>$s</strong>秒!","<br>";
}else{
echo "授权码失效!","<br>";
}
} else {
echo "密码输入错误","<br>";
}
} else {
echo "用户名错误","<br>";
}
} else {
echo "输入完整信息!","<br>";
}
?>
</html>
注册跳转界面
<html>
<div id="web_bg" style="position: absolute; width: 693px; height: 806px; z-index: -1; left: -2px; top: 0px;">
<img style="position:fixed;" src="denglu.gif" height="100%" width="100%" />
</div>
<?php
date_default_timezone_set('Asia/Shanghai');
error_reporting(0);
session_start();
header("Content-Type: text/html; charset=utf-8");
//传输数据
$username=$_GET['username'];//用户名
$password=$_GET["password"];//密码
$re_password=$_GET["re_password"];//确认密码
//连接数据库
$con = mysql_connect("localhost", "root", "");
if($username!="" && $password!="" && $re_password!="" && $password==$re_password) {
mysql_select_db('users', $con);
$sql = "select username from users where username='$username'";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
if ($rows > 0) {
echo "用户名已存在","<br>";
} else{
//产生随机数
function sqm($len)
{
$chars_array = array(
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z",
);
$charsLen = count($chars_array) - 1;
shuffle($chars);
$sqm = "";
for ($i = 0; $i < $len; $i++) {
$sqm .= $chars_array[mt_rand(0, $charsLen)];
}
return $sqm;
}
$sqm = sqm(10);
//选择数据库,并插入数据
if (mysql_select_db('users', $con)) {
$my_query = "insert into users(username,password,re_password) values ('$username','$password','$re_password')";
if (mysql_query($my_query)) {
mysql_query("UPDATE users SET sqm = '$sqm' WHERE username = '$username' AND password = '$password'");
echo "注册成功!","<br>";
echo "授权码为:".$sqm,"<br>";
echo "<tr>";
date_default_timezone_set('Asia/Shanghai');//这是设置时区的
$birth_time= time();//获取当前的时间戳
$zero2 = strtotime("2016-05-31 22:20:00");//获取预定的时间戳
$zero3 = strtotime("2016-05-31 22:20:30");//获取预定的时间戳
$dl_time=$_COOKIE['dl_total'];
$time_total=$zero3-$zero2;
setcookie('birth_time',$birth_time);
setcookie('time_total',$time_total);
$d = intval(($time_total) / 86400);//算出剩下的天数ceil()是向上取整函数
$h = intval((($time_total) % 86400) / 3600);//算出剩下的小时数
$m = intval((($time_total) % 3600) / 60);//算出剩下的分钟数
$s = intval(($time_total) % 60);//算出剩下的秒数
echo "此授权码距有效期还有:<strong>$d</strong>天<strong>$h</strong>小时<strong>$m</strong>分钟<strong>$s</strong>秒!","<br>";
}
}
mysql_close($con);
}
}else{
echo "信息不完整或者不准确,请核对!","<br>";
}
?>
</html>
本平台所发放授权码主要是大小写字母形式发放,对授权码进行了MD5加密算法的保护。
在平台源码中可以修改设置授权码的有效期,并可精确到秒。
在界面跳转过程中,因为涉及到两个网页界面之间的跳转,数据传输采用浏览器Cookie传输。