| 1 | <?php |
|---|
| 2 | require_once("./require.php"); |
|---|
| 3 | |
|---|
| 4 | $conn = new SC_DBConn(); |
|---|
| 5 | |
|---|
| 6 | $osess = new SC_Session(); |
|---|
| 7 | $ret = false; |
|---|
| 8 | |
|---|
| 9 | // ÆþÎÏȽÄê |
|---|
| 10 | if(strlen($_POST{'login_id'}) > 0 && strlen($_POST{'password'}) > 0) { |
|---|
| 11 | // ǧ¾Ú¥Ñ¥¹¥ï¡¼¥É¤ÎȽÄê |
|---|
| 12 | $ret = fnCheckPassword($conn); |
|---|
| 13 | } |
|---|
| 14 | |
|---|
| 15 | if($ret){ |
|---|
| 16 | // À®¸ù |
|---|
| 17 | header("Location: ".URL_HOME); |
|---|
| 18 | exit; |
|---|
| 19 | } else { |
|---|
| 20 | // ¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ |
|---|
| 21 | sfDispError(LOGIN_ERROR); |
|---|
| 22 | exit; |
|---|
| 23 | } |
|---|
| 24 | |
|---|
| 25 | /* ǧ¾Ú¥Ñ¥¹¥ï¡¼¥É¤ÎȽÄê */ |
|---|
| 26 | function fnCheckPassword($conn) { |
|---|
| 27 | $sql = "SELECT member_id, password, authority, login_date, name FROM dtb_member WHERE login_id = ? AND delete <> 1 AND work = 1"; |
|---|
| 28 | $arrcol = array ($_POST['login_id']); |
|---|
| 29 | // DB¤«¤é°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë¡£ |
|---|
| 30 | $data_list = $conn->getAll($sql ,$arrcol); |
|---|
| 31 | // ¥Ñ¥¹¥ï¡¼¥É¤Î¼èÆÀ |
|---|
| 32 | $password = $data_list[0]['password']; |
|---|
| 33 | // ¥æ¡¼¥¶ÆþÎϥѥ¹¥ï¡¼¥É¤ÎȽÄê |
|---|
| 34 | $ret = crypt($_POST['password'], $password); |
|---|
| 35 | |
|---|
| 36 | if ($ret == $password) { |
|---|
| 37 | // ¥»¥Ã¥·¥ç¥óÅÐÏ¿ |
|---|
| 38 | fnSetLoginSession($data_list[0]['member_id'], $data_list[0]['authority'], $data_list[0]['login_date'], $data_list[0]['name']); |
|---|
| 39 | // ¥í¥°¥¤¥óÆü»þ¤ÎÅÐÏ¿ |
|---|
| 40 | fnSetLoginDate(); |
|---|
| 41 | return true; |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | // ¥Ñ¥¹¥ï¡¼¥É |
|---|
| 45 | gfPrintLog($_POST['login_id'] . " password incorrect."); |
|---|
| 46 | return false; |
|---|
| 47 | } |
|---|
| 48 | |
|---|
| 49 | /* ǧ¾Ú¥»¥Ã¥·¥ç¥ó¤ÎÅÐÏ¿ */ |
|---|
| 50 | function fnSetLoginSession($member_id,$authority,$login_date, $login_name = '') { |
|---|
| 51 | global $osess; |
|---|
| 52 | // ǧ¾ÚºÑ¤ß¤ÎÀßÄê |
|---|
| 53 | $osess->SetSession('cert', CERT_STRING); |
|---|
| 54 | $osess->SetSession('login_id', $_POST{'login_id'}); |
|---|
| 55 | $osess->SetSession('authority', $authority); |
|---|
| 56 | $osess->SetSession('member_id', $member_id); |
|---|
| 57 | $osess->SetSession('login_name', $login_name); |
|---|
| 58 | |
|---|
| 59 | if(strlen($login_date) > 0) { |
|---|
| 60 | $osess->SetSession('last_login', $login_date); |
|---|
| 61 | } else { |
|---|
| 62 | $osess->SetSession('last_login', date("Y-m-d H:i:s")); |
|---|
| 63 | } |
|---|
| 64 | $sid = $osess->GetSID(); |
|---|
| 65 | // ¥í¥°¤ËµÏ¿¤¹¤ë |
|---|
| 66 | gfPrintLog("login : user=".$_SESSION{'login_id'}." auth=".$_SESSION{'authority'}." lastlogin=". $_SESSION{'last_login'} ." sid=".$sid); |
|---|
| 67 | } |
|---|
| 68 | |
|---|
| 69 | /* ¥í¥°¥¤¥óÆü»þ¤Î¹¹¿· */ |
|---|
| 70 | function fnSetLoginDate() { |
|---|
| 71 | global $osess; |
|---|
| 72 | $oquery = new SC_Query(); |
|---|
| 73 | $sqlval['login_date'] = date("Y-m-d H:i:s"); |
|---|
| 74 | $member_id = $osess->GetSession('member_id'); |
|---|
| 75 | $where = "member_id = " . $member_id; |
|---|
| 76 | $ret = $oquery->update("dtb_member", $sqlval, $where); |
|---|
| 77 | } |
|---|
| 78 | ?> |
|---|