connect_error) { // 显示当前使用的连接参数,帮助调试 $error = "数据库连接失败: " . $conn->connect_error . "
使用的连接信息:
" . "服务器: " . htmlspecialchars($servername) . "
" . "用户名: " . htmlspecialchars($username) . "
" . "数据库名: " . htmlspecialchars($dbname); } else { // 准备查询语句 - 根据实际表结构调整字段名 // 确保password_hash与你的数据库字段名一致 $sql = "SELECT id, username, email, password_hash FROM users WHERE email = ?"; $stmt = $conn->prepare($sql); if (!$stmt) { $error = "准备查询语句失败: " . $conn->error; } else { $stmt->bind_param("s", $email); $stmt->execute(); $stmt->store_result(); // 检查用户是否存在 if ($stmt->num_rows == 1) { // 绑定结果到变量 - 确保与查询的字段顺序一致 $stmt->bind_result($userId, $username, $userEmail, $passwordHash); $stmt->fetch(); // 验证密码 if (password_verify($userPassword, $passwordHash)) { // 密码正确,设置会话变量 $_SESSION['user_logged_in'] = true; $_SESSION['user_id'] = $userId; $_SESSION['user_info'] = [ 'username' => $username, 'email' => $userEmail ]; // 更新最后登录时间 $updateStmt = $conn->prepare("UPDATE users SET last_login_at = CURRENT_TIMESTAMP WHERE id = ?"); if ($updateStmt) { $updateStmt->bind_param("i", $userId); $updateStmt->execute(); $updateStmt->close(); } // 重定向到首页 header('Location: index.php'); exit; } else { $error = "密码不正确"; } } else { $error = "该邮箱未注册"; } $stmt->close(); } $conn->close(); } } } ?> 用户登录 - 音乐分享网站

用户登录

检查步骤:
1. 确认数据库用户名、密码和数据库名与虚拟主机面板一致
2. 确保与register.php使用完全相同的数据库配置
3. 检查该用户是否有权限访问指定数据库
">