prepare("INSERT INTO logrecord (loginName, loginTime, loginAct) VALUES (?, ?, ?)"); $loginAct = $_SESSION['employee_name'] . " " . date('Y-m-d H:i:s') . "从" . $ip . "退出系统"; $stmt->bind_param("sss", $_SESSION['employee_name'], date('Y-m-d H:i:s'), $loginAct); $stmt->execute(); // 清除所有session变量 $sessionVars = ['employee_id', 'employee_name', 't', 't1', 't2', 't3', 't4', 'd1', 'd2']; foreach ($sessionVars as $var) { unset($_SESSION[$var]); } } unset($_SESSION['employee_id']); if ($act == "login") { $loginuser = textEncode($_POST['loginuser'] ?? ''); $loginpwd = textEncode($_POST['loginpwd'] ?? ''); $logincode = $_POST['logincode'] ?? ''; // 验证输入 if (empty($loginuser)) { echo "1"; exit; } if (empty($loginpwd)) { echo "2"; exit; } if ($logincode != $_SESSION['zengscode']) { echo "3"; exit; } // 查询用户 $stmt = $conn->prepare("SELECT id, em_user, em_password, em_role, em_code, em_email, em_tel, lastIp FROM employee WHERE em_user = ?"); $stmt->bind_param("s", $loginuser); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows == 0) { echo "4"; exit; } $row = $result->fetch_assoc(); if ($row['em_password'] != md5($loginpwd)) { echo "5"; exit; } $_SESSION['employee_id'] = (int)$row['id']; $_SESSION['employee_name'] = $row['em_user']; echo "7"; // 更新最后登录IP $stmt = $conn->prepare("UPDATE employee SET lastIp = ? WHERE id = ?"); $stmt->bind_param("si", $ip, $_SESSION['employee_id']); $stmt->execute(); // 处理回收客户 $backToSeaStr = "SELECT id, cs_updatetime, cs_claimdate, cs_claimFrom, cs_chain FROM customer WHERE cs_claimFrom != '' AND cs_claimdate > '2023-01-01' AND cs_deal != 3 AND cs_belong = ?"; $stmt = $conn->prepare($backToSeaStr); $stmt->bind_param("i", $_SESSION['employee_id']); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { $updateTime = strtotime($row['cs_updatetime']); $claimDate = strtotime($row['cs_claimdate']); $daysDiff = floor((time() - $claimDate) / (60 * 60 * 24)); if ($daysDiff > 4 && $updateTime == $claimDate) { $chainArray = explode(",", $row['cs_chain']); $lastItem = end($chainArray); $cs_chain = ($lastItem == $row['cs_claimFrom']) ? $row['cs_claimFrom'] : $row['cs_chain'] . "," . $row['cs_claimFrom']; $updateStmt = $conn->prepare("UPDATE customer SET cs_belong = ?, cs_chain = ? WHERE id = ?"); $updateStmt->bind_param("isi", $row['cs_claimFrom'], $cs_chain, $row['id']); $updateStmt->execute(); } elseif ($updateTime > $claimDate) { $updateStmt = $conn->prepare("UPDATE customer SET cs_claimdate = '2022-12-31' WHERE id = ?"); $updateStmt->bind_param("i", $row['id']); $updateStmt->execute(); } } // 统计数据 $counts = [ 't' => "SELECT COUNT(id) FROM customer WHERE cs_belong = ?", 't1' => "SELECT COUNT(id) FROM customer WHERE cs_type = 1 AND cs_belong = ?", 't2' => "SELECT COUNT(id) FROM customer WHERE cs_type = 2 AND cs_belong = ?", 't3' => "SELECT COUNT(id) FROM customer WHERE cs_type = 3 AND cs_belong = ?", 't4' => "SELECT COUNT(id) FROM customer WHERE cs_type = 4 AND cs_belong = ?", 'd1' => "SELECT COUNT(id) FROM customer WHERE cs_deal = 3 AND cs_belong = ?", 'd2' => "SELECT COUNT(id) FROM customer WHERE cs_deal = 2 AND cs_belong = ?", 'd3' => "SELECT COUNT(id) FROM customer WHERE DATEDIFF(NOW(), cs_updatetime) > 120 AND cs_belong = ?" ]; foreach ($counts as $key => $query) { $stmt = $conn->prepare($query); $stmt->bind_param("i", $_SESSION['employee_id']); $stmt->execute(); $result = $stmt->get_result(); $_SESSION[$key] = $result->fetch_row()[0]; } // 记录登录日志 $date=date('Y-m-d H:i:s'); $stmt = $conn->prepare("INSERT INTO logrecord (loginName, loginTime, loginAct) VALUES (?, ?, ?)"); $loginAct = $_SESSION['employee_name'] . " " . date('Y-m-d H:i:s') . "从" . $ip . "登录"; $stmt->bind_param("sss", $_SESSION['employee_name'],$date , $loginAct); $stmt->execute(); exit; } ?>
Copyright © Metubl All Rights Reserved