PHP进行授权码登录和发放平台(类似于腾讯会员的注册和登录)

本登录平台使用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">&nbsp;</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">&nbsp;</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传输。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值