123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?php
- include "conn.php";
- $act = $_GET['act'] ?? '';
- if ($act == "logout") {
- // Clear all session variables
- addSession('loginid', '');
- addSession('loginuser', '');
- addSession('loginname', '');
- addSession('loginpower', '');
- session_destroy();
- }
- if ($act == "login") {
- checkPost();
- $loginuser = textEncode($_POST['loginuser'] ?? '');
- $loginpwd = textEncode($_POST['loginpwd'] ?? '');
- $logincode = $_POST['logincode'] ?? '';
- if ($loginuser == "") {
- echo "1";
- exit;
- }
- if ($loginpwd == "") {
- echo "2";
- exit;
- }
- if ($logincode != $_SESSION['zengscode']) {
- echo "3";
- exit;
- }
- $sql = "SELECT id, loginuser, loginpwd, loginstate, loginname, loginlasttime, loginlastip,
- loginthistime, loginthisip, loginpower, logincount
- FROM login WHERE loginuser = '" . mysqli_real_escape_string($conn, $loginuser) . "'";
- $result = mysqli_query($conn, $sql);
-
- if (mysqli_num_rows($result) == 0) {
- echo "4";
- exit;
- }
-
- $row = mysqli_fetch_assoc($result);
- if ($row['loginpwd'] != md5($loginpwd)) {
- echo "5";
- exit;
- }
-
- if ($row['loginstate'] < 1) {
- echo "6";
- exit;
- }
-
- // Check power status
- $sql = "SELECT COUNT(powerstate) as count, powerstate FROM power WHERE id = '" . mysqli_real_escape_string($conn, $row['loginpower']) . "' GROUP BY powerstate";
- $result = mysqli_query($conn, $sql);
- $power = mysqli_fetch_assoc($result);
-
- if (!$power || $power['count'] == 0 || $power['powerstate'] == 0) {
- echo "6";
- exit;
- }
- $_SESSION['zengscode'] = "";
-
- // Update login information
- $sql = "UPDATE login SET
- loginlasttime = loginthistime,
- loginlastip = loginthisip,
- loginthistime = NOW(),
- loginthisip = '" . mysqli_real_escape_string($conn, getIp()) . "',
- logincount = logincount + 1
- WHERE id = '" . mysqli_real_escape_string($conn, $row['id']) . "'";
- mysqli_query($conn, $sql);
-
- // Set session variables
- addSession('loginid', $row['id']);
- addSession('loginuser', $row['loginuser']);
- addSession('loginname', $row['loginname']);
- addSession('loginpower', $row['loginpower']);
- echo "7";
- exit;
- }
- ?>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <link href="css/loginlayout.css" type="text/css" rel="stylesheet" />
- <title><?php echo $webname; ?> - 网站后台管理</title>
- <script language="javascript" src="js/jquery-1.7.2.min.js"></script>
- <script type="text/javascript" src="js/loginjs.js"></script>
- <style type="text/css">
- /* 修复输入框变形问题 */
- #loginuser, #loginpwd, #logincode {
- background-color: #fff;
- border: 1px solid #ccc;
- border-radius: 3px;
- width: 180px;
- height: 28px;
- line-height: 28px;
- padding: 0 10px;
- outline: none; /* 防止点击时出现浏览器默认的蓝色边框 */
- box-sizing: border-box;
- font-size: 14px;
- }
- #logincode {
- width: 100px;
- }
- .loginuser, .loginpwd, .logincode {
- height: 40px;
- margin-bottom: 8px;
- display: flex;
- align-items: center;
- }
- /* 不再使用背景图像 */
- .loginuser, .loginpwd, .logincode {
- background: none;
- }
- /* 确保输入框在获取焦点时不变形 */
- #loginuser:focus, #loginpwd:focus, #logincode:focus {
- box-shadow: 0 0 3px #226dc7;
- border-color: #226dc7;
- }
- /* 调整标签样式 */
- .loginuser label, .loginpwd label, .logincode label {
- width: 80px;
- text-align: right;
- margin-right: 10px;
- font-size: 14px;
- }
- /* 调整验证码区域 */
- #showlogincode {
- margin-left: 10px;
- position: relative;
- z-index: 1000; /* 设置高z-index值,确保显示在最顶层 */
- }
- /* 确保验证码图片也在最顶层 */
- #showlogincode img {
- position: relative;
- z-index: 1000;
- }
- /* 调整登录按钮位置 */
- #loginbtn {
- background: url(../images/login_user_submit.gif) 0 0 no-repeat;
- border: none;
- width: 111px;
- height: 122px;
- text-indent: -9999px;
- cursor: pointer;
- position: absolute;
- top: 120px;
- left: 410px; /* 原来是380px,向右移动 */
- }
- </style>
- </head>
- <body>
- <div id="container">
- <form id="loginform" name="loginform" method="post">
- <div class="loginuser"><label for="loginuser">用户帐号:</label><input type="text" id="loginuser" name="loginuser" maxlength="50" autocomplete="off" placeholder="输入用户帐号" /></div>
- <div class="loginpwd"><label for="loginpwd">用户密码:</label><input type="password" id="loginpwd" name="loginpwd" maxlength="50" autocomplete="off" placeholder="输入用户密码" /></div>
- <div class="logincode"><label for="logincode">验 证 码:</label><input type="text" id="logincode" name="logincode" maxlength="5" autocomplete="off" placeholder="输入验证码"/><span id="showlogincode"></span></div>
- <div><input type="submit" id="loginbtn" name="loginbtn" value="登陆" /></div>
- <div id="formmsg"></div>
- </form>
- <div id="copyright">Copyright © Mietubl All Rights Reserved</div>
- </div>
- </body>
- </html>
|