/
home
/
ak0904
/
public_html
/
livecasino.com.tw
/
Upload File
HOME
<?php require_once "pageBase.php"; require_once "bin/system/email.php"; require_once "bin/system/smtp_mail.php"; require_once "dal/memberDAL.php"; class _forget_password extends pageBase{ private $dal; public function load(){ if($this->registry->isCustomer == 0){ header("Location: /404.php"); exit(); }else{ $this->dal = new memberDAL(); if(isset($_SESSION["member_id"]) && $_SESSION["member_id"] != ""){ $this->dal->MemberID = $_SESSION["member_id"]; $this->dal->loadRecord(); if((int)$this->dal->Status > 0){ $this->alertMsg = "您已經登入!"; $this->locationHref = "/"; }else if((int)$this->dal->Status < -2){ unset($_SESSION["member_id"]); $this->alertMsg = "您已遭停權,如有疑問請和客服人員聯絡!"; $this->locationHref = "/"; }else{ unset($_SESSION["member_id"]); $this->alertMsg = "您尚未通過驗證,請先完成驗證再登入一次!"; $this->locationHref = "check_member.html"; } }else{ if(parent::isPostBack()) $this->saveData(); else $this->loadData(); } parent::loadTemplateFile("templates/".$this->registry->webTemplates."/forget_password.html"); } parent::load(); } public function loadData(){ //橫幅廣告 $this->picturetype = "130"; //父類方法 parent::loadData(); } private function saveData(){ /* 參數 */ $login = parent::getPost("login"); $checknum = parent::getPost("Checknum"); /* 檢查 */ if($checknum != $_SESSION["dd_ckstr"] || !isset($_SESSION["dd_ckstr"]) || $_SESSION["dd_ckstr"] == ''){ $this->alertMsg = "驗證碼輸入錯誤喔"; $this->locationHref = "forget_password.html"; return false; } /* 會員資料 */ $intoAry = array(); $intoAry[] = parent::addArray(":loginName", $login, "str", 200); $filter = "a.`LoginName`=:loginName AND a.`Status`>-3"; $data = $this->dal->executeRecordset($intoAry, $filter); if(count($data) != 1){ $this->alertMsg = "找不到會員帳號資料!"; $this->goBack = "Y"; return false; } /* 新密碼 */ $aryP = array(); for($i=0;$i<10;$i++) $aryP[] = "".$i; for($i=0;$i<26;$i++) $aryP[] = chr(65 + $i); do{ $pass = ""; for($i=0;$i<8;$i++) $pass .= $aryP[rand(0,35)]; $pass2 = hash("sha256", $pass); }while($pass2 == $data[0]["LoginPass"]); /* 更新密碼 */ $this->dal->MemberID = $data[0]["MemberID"]; $this->dal->LoginPass = $pass2; $this->dal->ModifiedIP = parent::getIP(); $this->dal->ModifiedUserID = "0"; $saved = false; $saved = $this->dal->changePassRecord(); if($saved === false){ $this->alertMsg = "密碼變更失敗!"; $this->goBack = "Y"; }else{ //通知信 $mbody = '<!doctype html>'.PHP_EOL; $mbody .= '<html lang="zh-tw">'.PHP_EOL; $mbody .= '<head>'.PHP_EOL; $mbody .= '<meta charset="utf-8" />'.PHP_EOL; $mbody .= '</head>'.PHP_EOL; $mbody .= '<body>'.PHP_EOL; $mbody .= '<p>會員遺忘密碼通知信</p>'.PHP_EOL; $mbody .= '<p>新密碼:'.$pass.'</p>'.PHP_EOL; $mbody .= '<p>請盡快登入後,變更會員密碼!</p>'.PHP_EOL; $mbody .= '<p>系統信件請勿直接回覆!</p>'.PHP_EOL; $mbody .= '</body>'.PHP_EOL; $mbody .= '</html>'; $subject = "[".$this->registry->webName."][".$_SERVER['HTTP_HOST']."]會員遺忘密碼通知信"; if($this->registry->sendMailType == ""){ $email = new email(); $email->fromAddress = "=?UTF-8?B?".base64_encode($this->registry->webName)."?=<".$this->registry->webEmail.">"; $email->replyToAddress = "=?UTF-8?B?".base64_encode($this->registry->webName)."?=<".$this->registry->webEmail.">"; $email->subject = $subject; $email->content = $mbody; $email->toAddress = $this->dal->MemberEmail; $email->send(); }else{ $smtp_mail = new smtp_mail(); $smtp_mail->toAry = array($data[0]["MemberEmail"]); $smtp_mail->name = "=?UTF-8?B?".base64_encode($this->registry->webName)."?="; $smtp_mail->subject = $subject; $smtp_mail->body = $mbody; $smtp_mail->send(); } $this->locationHref = "member_login.html"; } } } $page = new _forget_password(); $page->load(); $page->render(); ?>