forked from XiaoLFeng/XF_Index
注册验证界面模块设计、PHPDoc修正补全,引入版本号
This commit is contained in:
parent
207165b4b5
commit
25b497c50c
@ -5,12 +5,22 @@
|
||||
* https://www.x-lf.com/
|
||||
*/
|
||||
|
||||
/**
|
||||
* 数据库模块
|
||||
*
|
||||
* @since v1.0.0-Alpha
|
||||
* @author 筱锋xiao_lfeng
|
||||
*/
|
||||
class Sql
|
||||
{
|
||||
/**
|
||||
* 数据库连接模块
|
||||
*
|
||||
* @return false|mysqli
|
||||
* @author 筱锋xiao_lfeng
|
||||
* @since v1.0.0-Alpha
|
||||
*/
|
||||
protected static function MySqlConn()
|
||||
private static function MySqlConn()
|
||||
{
|
||||
// 从文件获取数据
|
||||
$Array_ConfigData = null;
|
||||
@ -27,15 +37,18 @@ protected static function MySqlConn()
|
||||
}
|
||||
|
||||
/**
|
||||
* MySQL查找库 |
|
||||
* MySQL查找库
|
||||
* <hr>
|
||||
* [Tips] 在PHP中,Mysql查询语句一次只允许查询一次数据,不可多个代码进行连续查询
|
||||
*
|
||||
* [output] 反馈
|
||||
* - [Success] 查询记录成功
|
||||
* - [EmptyResult] 没有对应记录
|
||||
* - [TypeError] 类型错误,出现这个多半是自己开发的问题
|
||||
* <hr>
|
||||
* 1. output 反馈
|
||||
* - [Success] 查询记录成功
|
||||
* - [EmptyResult] 没有对应记录
|
||||
* - [TypeError] 类型错误,出现这个多半是自己开发的问题
|
||||
* @param string $Mysql_Query 输入Mysql查询语句
|
||||
* @return string[] 查找到结果返回结果
|
||||
* @since v1.0.0-Alpha
|
||||
* @author 筱锋xiao_lfeng
|
||||
*/
|
||||
public static function SELECT(string $Mysql_Query): array
|
||||
{
|
||||
@ -59,8 +72,11 @@ public static function SELECT(string $Mysql_Query): array
|
||||
|
||||
/**
|
||||
* MySQL插入库
|
||||
* @param string $Mysql_InsertQuery
|
||||
* @return bool
|
||||
*
|
||||
* @param string $Mysql_InsertQuery SQL操作语法
|
||||
* @return bool 操作成功返回数据库操作值,操作成功为真失败为假
|
||||
* @since v1.0.0-Alpha
|
||||
* @author 筱锋xiao_lfeng
|
||||
*/
|
||||
public static function INSERT(string $Mysql_InsertQuery): bool
|
||||
{
|
||||
@ -74,8 +90,11 @@ public static function INSERT(string $Mysql_InsertQuery): bool
|
||||
|
||||
/**
|
||||
* MySQL更新库
|
||||
* @param string $Mysql_UpdateQuery
|
||||
* @return bool
|
||||
*
|
||||
* @param string $Mysql_UpdateQuery SQL操作语法
|
||||
* @return bool 操作成功返回数据库操作值,操作成功为真失败为假
|
||||
* @since v1.0.0-Alpha
|
||||
* @author 筱锋xiao_lfeng
|
||||
*/
|
||||
public static function UPDATE(string $Mysql_UpdateQuery): bool
|
||||
{
|
||||
@ -89,8 +108,11 @@ public static function UPDATE(string $Mysql_UpdateQuery): bool
|
||||
|
||||
/**
|
||||
* MySQL删除库
|
||||
* @param string $Mysql_DeleteQuery
|
||||
* @return bool
|
||||
*
|
||||
* @param string $Mysql_DeleteQuery SQL操作语法
|
||||
* @return bool 操作成功返回数据库操作值,操作成功为真失败为假
|
||||
* @since v1.0.0-Alpha
|
||||
* @author 筱锋xiao_lfeng
|
||||
*/
|
||||
public static function DELETE(string $Mysql_DeleteQuery): bool
|
||||
{
|
||||
|
@ -6,6 +6,10 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* 此页面为用户登录页面
|
||||
*
|
||||
* @author 筱锋xiao_lfeng
|
||||
* @since v1.0.0-Aplha
|
||||
* @var Array $Json_Data 最终数据编译输出
|
||||
* @var array $Array_ConfigData 配置文件
|
||||
*/
|
||||
@ -42,8 +46,18 @@
|
||||
if (Sql::UPDATE("UPDATE `index`.xf_user SET `login_time`='" . time() . "',`login_ip`='" . $_SERVER['REMOTE_ADDR'] . "' WHERE `username`='{$PostData['user']}' OR `email`='{$PostData['user']}'")) {
|
||||
// 输出结果
|
||||
Normal::Output(200);
|
||||
} else Normal::Output(300);
|
||||
} else Normal::Output(403);
|
||||
} else Normal::Output(601);
|
||||
} else Normal::Output(402);
|
||||
} else Normal::Output(100);
|
||||
} else {
|
||||
Normal::Output(300);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(403);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(601);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(402);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(100);
|
||||
}
|
@ -6,6 +6,13 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* 此页面为注册页面
|
||||
* 用户执行注册操作,成功执行操作后软件会发送验证码给邮箱,需要引导用户进入(registerCheck 模块)进行下一步验证操作
|
||||
* <p>
|
||||
* 激活码为 50 位固定字符,其合法性规定按照下列正则表达式确定
|
||||
*
|
||||
* @author 筱锋xiao_lfeng
|
||||
* @since v1.0.0-Alpha
|
||||
* @var Array $Json_Data 最终数据编译输出
|
||||
* @var array $Array_ConfigData 配置文件
|
||||
*/
|
||||
@ -55,45 +62,41 @@
|
||||
// 邮件发送
|
||||
if ($ClassMailer->PostMail($PostData['email'], 1, $Data_Captcha))
|
||||
Normal::Output(200);
|
||||
else Normal::Output(201);
|
||||
} else Normal::Output(300);
|
||||
} else Normal::Output(500);
|
||||
} else Normal::Output(301);
|
||||
} else Normal::Output(300);
|
||||
} else Normal::Output(600);
|
||||
} else Normal::Output(401);
|
||||
} else Normal::Output(400);
|
||||
else {
|
||||
Normal::Output(201);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(300);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(500);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(301);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(300);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(600);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(401);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(400);
|
||||
}
|
||||
} else {
|
||||
// 数据库查找用户是否存在
|
||||
$AResult_User = Sql::SELECT("SELECT * FROM `index`.xf_user WHERE `uid`='{$_COOKIE['user']}'");
|
||||
if ($AResult_User['output'] == 'Success') {
|
||||
$Json_Data = [
|
||||
'output' => "AlReadyLogin",
|
||||
'code' => 403,
|
||||
'data' => [
|
||||
'message' => "您已登录",
|
||||
],
|
||||
];
|
||||
Normal::CustomOutput("AlReadyLogin", 403, "您已登录");
|
||||
} else if ($AResult_User['output'] == 'EmptyResult') {
|
||||
$Json_Data = [
|
||||
'output' => "IllegalLogin",
|
||||
'code' => 403,
|
||||
'data' => [
|
||||
'message' => "非法登录",
|
||||
],
|
||||
];
|
||||
Normal::CustomOutput("IllegalLogin", 403, "非法登录");
|
||||
} else {
|
||||
$Json_Data = [
|
||||
'output' => $AResult_User['output'],
|
||||
'code' => 403,
|
||||
'data' => [
|
||||
'message' => "数据库搜索类型错误",
|
||||
],
|
||||
];
|
||||
Normal::CustomOutput($AResult_User['output'], 403, "数据库搜索类型错误");
|
||||
}
|
||||
echo json_encode($Json_Data, JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(100);
|
||||
}
|
||||
End:
|
||||
}
|
@ -6,6 +6,13 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* 此页面为注册验证页面
|
||||
* 当用户执行注册后(register 模块)执行完毕之后,会给用户发送邮件激活,相对应的激活码会发送至指定邮箱,用户需要根据邮箱内容进入此位置进行激活操作
|
||||
* <p>
|
||||
* 激活码为 50 位固定字符,其合法性规定按照下列正则表达式确定
|
||||
*
|
||||
* @author 筱锋xiao_lfeng
|
||||
* @since v1.0.0-Alpha
|
||||
* @var array $Json_Data 最终数据编译输出
|
||||
* @var array $Array_ConfigData 配置文件
|
||||
*/
|
||||
@ -22,16 +29,49 @@
|
||||
|
||||
// 函数构建
|
||||
if ($Array_ConfigData['Session'] == $_SERVER['HTTP_SESSION']) { /* 检查通讯密钥是否正确 */
|
||||
// check user login
|
||||
if (!empty($_COOKIE['user'])) {
|
||||
|
||||
// check user cookie for user
|
||||
if (preg_match("/^[0-9]+$/", $_COOKIE['user'])) {
|
||||
// check the user code is true
|
||||
if (!empty($GetData['code'])) {
|
||||
// check user verify code have right input
|
||||
if (preg_match("/^[0-9A-Za-z]{50}/", $GetData['code'])) {
|
||||
// put user verify code into sql to select
|
||||
$AResult_Code = Sql::SELECT("SELECT * FROM `index`.`xf_email_verify` WHERE `code`='{$GetData['code']}'");
|
||||
// check sql data not empty
|
||||
if ($AResult_Code['output'] = "Success") {
|
||||
if ($_COOKIE['user'] == $AResult_Code['data']->uid) {
|
||||
// update this user info in sql (update xf_user.email_verify)
|
||||
if (Sql::UPDATE("UPDATE `index`.xf_user SET `email_verify`=1 WHERE `uid`='{$_COOKIE['user']}'")) {
|
||||
// delete the email_verify
|
||||
if (Sql::DELETE("DELETE FROM `index`.xf_email_verify WHERE `id`='{$AResult_Code['data']->id}'")) {
|
||||
Normal::Output(200);
|
||||
} else {
|
||||
Normal::Output(303);
|
||||
}
|
||||
} else {
|
||||
Normal::Output(302);
|
||||
}
|
||||
} else {
|
||||
Normal::CustomOutput("CodeNotYour", 403, "这个验证码不是你");
|
||||
}
|
||||
} else {
|
||||
// SqlSelectFail__CodeEmpty
|
||||
Normal::Output(301, null, "CodeEmpty");
|
||||
}
|
||||
} else {
|
||||
Normal::CustomOutput("CodeFormat", 403, "激活码格式错误");
|
||||
}
|
||||
} else {
|
||||
Normal::CustomOutput("NoCode", 403, "请提供激活码");
|
||||
}
|
||||
} else {
|
||||
// userFormat
|
||||
Normal::Output(402);
|
||||
}
|
||||
} else {
|
||||
$Json_Data = [
|
||||
'output' => 'NoLogin',
|
||||
'code' => 502,
|
||||
'data' => [
|
||||
'message' => '需要登陆',
|
||||
],
|
||||
];
|
||||
Normal::CustomOutput("NoLogin", 502, "需要登录");
|
||||
}
|
||||
} else {
|
||||
// 编译输出
|
||||
|
Loading…
x
Reference in New Issue
Block a user