www.gusucode.com > Carbon Forum PHP轻论坛系统 v3.6.5源码程序 > Carbon-Forum-3.6.5/register.php
<?php include(__DIR__ . '/common.php'); require(__DIR__ . '/language/' . ForumLanguage . '/register.php'); $UserName = ''; $Email = ''; $Password = ''; $Password2 = ''; $VerifyCode = ''; $Message = ''; if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!ReferCheck(Request('Post', 'FormHash'))) { AlertMsg($Lang['Error_Unknown_Referer'], $Lang['Error_Unknown_Referer'], 403); } $UserName = strtolower(Request('Post', 'UserName')); $Email = strtolower(Request('Post', 'Email')); $Password = Request('Post', 'Password'); $Password2 = Request('Post', 'Password2'); $VerifyCode = intval(Request('Post', 'VerifyCode')); if ($UserName && $Email && $Password && $Password2 && $VerifyCode) { if ($Password === $Password2) { if (IsName($UserName)) { if (IsEmail($Email)) { session_start(); if (isset($_SESSION[$Prefix . 'VerificationCode']) && $VerifyCode === intval($_SESSION[$Prefix . 'VerificationCode'])) { $UserExist = $DB->single("SELECT ID FROM " . $Prefix . "users WHERE UserName = :UserName", array( 'UserName' => $UserName )); if (!$UserExist) { $NewUserSalt = mt_rand(100000, 999999); $NewUserPassword = md5(md5($Password) . $NewUserSalt); $NewUserData = array( 'ID' => null, 'UserName' => $UserName, 'Salt' => $NewUserSalt, 'Password' => $NewUserPassword, 'UserMail' => $Email, 'UserHomepage' => '', 'PasswordQuestion' => '', 'PasswordAnswer' => '', 'UserSex' => 0, 'NumFavUsers' => 0, 'NumFavTags' => 0, 'NumFavTopics' => 0, 'NewMessage' => 0, 'Topics' => 0, 'Replies' => 0, 'Followers' => 0, 'DelTopic' => 0, 'GoodTopic' => 0, 'UserPhoto' => '', 'UserMobile' => '', 'UserLastIP' => $CurIP, 'UserRegTime' => $TimeStamp, 'LastLoginTime' => $TimeStamp, 'LastPostTime' => $TimeStamp, 'BlackLists' => '', 'UserFriend' => '', 'UserInfo' => '', 'UserIntro' => '', 'UserIM' => '', 'UserRoleID' => 1, 'UserAccountStatus' => 1, 'Birthday' => date("Y-m-d", $TimeStamp) ); $DB->query('INSERT INTO `' . $Prefix . 'users`(`ID`, `UserName`, `Salt`, `Password`, `UserMail`, `UserHomepage`, `PasswordQuestion`, `PasswordAnswer`, `UserSex`, `NumFavUsers`, `NumFavTags`, `NumFavTopics`, `NewMessage`, `Topics`, `Replies`, `Followers`, `DelTopic`, `GoodTopic`, `UserPhoto`, `UserMobile`, `UserLastIP`, `UserRegTime`, `LastLoginTime`, `LastPostTime`, `BlackLists`, `UserFriend`, `UserInfo`, `UserIntro`, `UserIM`, `UserRoleID`, `UserAccountStatus`, `Birthday`) VALUES (:ID, :UserName, :Salt, :Password, :UserMail, :UserHomepage, :PasswordQuestion, :PasswordAnswer, :UserSex, :NumFavUsers, :NumFavTags, :NumFavTopics, :NewMessage, :Topics, :Replies, :Followers, :DelTopic, :GoodTopic, :UserPhoto, :UserMobile, :UserLastIP, :UserRegTime, :LastLoginTime, :LastPostTime, :BlackLists, :UserFriend, :UserInfo, :UserIntro, :UserIM, :UserRoleID, :UserAccountStatus, :Birthday)', $NewUserData); $CurUserID = $DB->lastInsertId(); //更新全站统计数据 $NewConfig = array( "NumUsers" => $Config["NumUsers"] + 1, "DaysUsers" => $Config["DaysUsers"] + 1 ); UpdateConfig($NewConfig); $TemporaryUserExpirationTime = 30 * 86400 + $TimeStamp;//默认保持30天登陆状态 SetCookies(array( 'UserID' => $CurUserID, 'UserExpirationTime' => $TemporaryUserExpirationTime, 'UserCode' => md5($NewUserPassword . $NewUserSalt . $TemporaryUserExpirationTime . $SALT) ), 30); if ($CurUserID == 1) { $DB->query("UPDATE `" . $Prefix . "users` SET UserRoleID=5 WHERE `ID`=?", array( $CurUserID )); } if(extension_loaded('gd')){ require(__DIR__ . "/includes/MaterialDesign.Avatars.class.php"); $Avatar = new MDAvtars(mb_substr($UserName, 0, 1, "UTF-8"), 256); $Avatar->Save('upload/avatar/large/' . $CurUserID . '.png', 256); $Avatar->Save('upload/avatar/middle/' . $CurUserID . '.png', 48); $Avatar->Save('upload/avatar/small/' . $CurUserID . '.png', 24); $Avatar->Free(); } header('location: ' . $Config['WebsitePath'] . '/'); } else { $Message = $Lang['This_User_Name_Already_Exists']; } } else { $Message = $Lang['VerificationCode_Error']; } unset($_SESSION[$Prefix . 'VerificationCode']); } else { $Message = $Lang['Email_Error']; } } else { $Message = $Lang['UserName_Error']; } } else { $Message = $Lang['Passwords_Inconsistent']; } } else { $Message = $Lang['Forms_Can_Not_Be_Empty']; } } $DB->CloseConnection(); // 页面变量 $PageTitle = $Lang['Sign_Up']; $ContentFile = $TemplatePath . 'register.php'; include($TemplatePath . 'layout.php');