prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); $msg_success = ''; $msg_error = ''; // ========================================================= // ОБРАБОТКА БАНКОВСКИХ ОПЕРАЦИЙ (POST) // ========================================================= if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['bank_action'])) { // 1. СИМУЛЯЦИЯ ПОПОЛНЕНИЯ КАРТОЙ if ($_POST['bank_action'] === 'replenish') { $amount = (int)$_POST['amount']; if ($amount >= 10 && $amount <= 50000) { // Начисляем деньги в основную таблицу маркетплейса $pdo->prepare("UPDATE users SET balance = balance + ? WHERE id = ?")->execute([$amount, $user_id]); // Записываем трансляцию в историю банка $pdo->prepare("INSERT INTO bank_transactions (user_id, type, amount, description) VALUES (?, 'replenish', ?, 'Пополнение через WB-Bank (Виртуальная карта)')") ->execute([$user_id, $amount]); // Пишем в общие логи системы для админки $pdo->prepare("INSERT INTO site_logs (type, description) VALUES ('FINANCE', ?)") ->execute(["Пользователь {$user['email']} пополнил WB Кошелек на $ {$amount} через онлайн-банкинг."]); header("Location: index.php?success=1"); exit; } else { $msg_error = "Сумма пополнения должна быть от $10 до $50 000."; } } // 2. РЕАЛЬНЫЙ ПЕРЕВОД ДРУГОМУ ПОЛЬЗОВАТЕЛЮ ПО EMAIL if ($_POST['bank_action'] === 'transfer') { $target_email = trim(strtolower($_POST['target_email'])); $amount = (int)$_POST['amount']; if ($target_email === strtolower($user['email'])) { $msg_error = "Вы не можете переводить средства самому себе."; } elseif ($amount <= 0 || $amount > $user['balance']) { $msg_error = "Недостаточно средств на балансе или указана неверная сумма."; } else { // Ищем получателя в единой базе $stmtTarget = $pdo->prepare("SELECT id FROM users WHERE LOWER(email) = ?"); $stmtTarget->execute([$target_email]); $target_id = $stmtTarget->fetchColumn(); if ($target_id) { // Списываем у отправителя $pdo->prepare("UPDATE users SET balance = balance - ? WHERE id = ?")->execute([$amount, $user_id]); // Начисляем получателю $pdo->prepare("UPDATE users SET balance = balance + ? WHERE id = ?")->execute([$amount, $target_id]); // Фиксируем транзакции для обоих участников $pdo->prepare("INSERT INTO bank_transactions (user_id, type, amount, description) VALUES (?, 'transfer_out', ?, ?)") ->execute([$user_id, $amount, "Перевод пользователю " . htmlspecialchars($target_email)]); $pdo->prepare("INSERT INTO bank_transactions (user_id, type, amount, description) VALUES (?, 'transfer_in', ?, ?)") ->execute([$target_id, $amount, "Получен перевод от " . htmlspecialchars($user['email'])]); // Лог для админ-панели $pdo->prepare("INSERT INTO site_logs (type, description) VALUES ('FINANCE', ?)") ->execute(["Банковский перевод: {$user['email']} перевел $ {$amount} пользователю с Email: {$target_email}"]); header("Location: index.php?success=2"); exit; } else { $msg_error = "Пользователь с таким Email не найден в системе WBrbx."; } } } } if (isset($_GET['success'])) { if ($_GET['success'] == '1') $msg_success = "Баланс успешно пополнен!"; if ($_GET['success'] == '2') $msg_success = "Перевод успешно отправлен получателю!"; } // Загружаем историю транзакций банкинга $stmtTransactions = $pdo->prepare("SELECT * FROM bank_transactions WHERE user_id = ? ORDER BY id DESC LIMIT 20"); $stmtTransactions->execute([$user_id]); $transactions = $stmtTransactions->fetchAll(); ?> Личный кабинет — WB Bank

🏦 WB Bank

Клиент:
Единый баланс кошелька
$
**** **** ****
ПАО "ИксПи Технолоджи"

💳 Быстрое пополнение

✈️ Перевод другому пользователю

🕒 Последние операции

История операций пуста.
+ $ - $