🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:account.php
<?php require_once __DIR__ . '/../includes/config.php'; require_once __DIR__ . '/../includes/db.php'; require_once __DIR__ . '/../includes/functions.php'; $page = 'account'; $page_title = 'My Account'; if (!is_logged_in()) { header('Location: ' . SITE_URL . 'pages/login.php'); exit; } $user = get_user_data(); // Update Profile if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['update_profile']) && verify_csrf($_POST[CSRF_TOKEN_NAME] ?? '')) { $first_name = trim($_POST['first_name']); $last_name = trim($_POST['last_name']); $phone = trim($_POST['phone']); $email = trim($_POST['email']); try { $stmt = $db->prepare("UPDATE users SET first_name = ?, last_name = ?, phone = ?, email = ? WHERE id = ?"); $stmt->execute([$first_name, $last_name, $phone, $email, $_SESSION['user_id']]); $_SESSION['user_name'] = $first_name . ' ' . $last_name; set_flash('success', 'Profile updated successfully'); } catch (Exception $e) { set_flash('error', 'Update failed'); } header('Location: ' . SITE_URL . 'pages/account.php'); exit; } require_once '../includes/header.php'; require_once '../includes/navbar.php'; ?> <main> <section style="background: var(--light-marble); padding: 20px 0;"> <div class="container"> <nav aria-label="breadcrumb"> <ol class="breadcrumb mb-0"> <li class="breadcrumb-item"><a href="<?= SITE_URL ?>">Home</a></li> <li class="breadcrumb-item active">My Account</li> </ol> </nav> </div> </section> <section class="account-section" style="padding: 60px 0;"> <div class="container"> <div class="row g-4"> <!-- Sidebar --> <div class="col-lg-3 col-md-4"> <div class="account-sidebar" style="background: var(--white); border-radius: 16px; padding: 25px; box-shadow: var(--shadow-sm); position: sticky; top: 100px;"> <div class="user-info text-center" style="padding-bottom: 20px; border-bottom: 1px solid var(--gray-200); margin-bottom: 20px;"> <div class="testimonial-avatar" style="background: var(--gradient-rose); color: var(--white); width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 1.5rem; margin: 0 auto 15px;"> <?= strtoupper(substr($user['first_name'], 0, 1) . substr($user['last_name'], 0, 1)) ?> </div> <h5 style="font-family: var(--font-primary); margin-bottom: 5px; font-size: 1rem;"><?= htmlspecialchars($user['first_name'] . ' ' . $user['last_name']) ?></h5> <small class="text-muted"><?= htmlspecialchars($user['email']) ?></small> </div> <ul class="account-menu" style="list-style: none; padding: 0; margin: 0;"> <li style="margin-bottom: 5px;"> <a href="<?= SITE_URL ?>pages/account.php" class="account-link active" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--dark-text); text-decoration: none; transition: var(--transition); background: var(--soft-pink);"> <i class="fas fa-user-circle"></i> Profile </a> </li> <li style="margin-bottom: 5px;"> <a href="<?= SITE_URL ?>pages/orders.php" class="account-link" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--dark-text); text-decoration: none; transition: var(--transition);"> <i class="fas fa-box"></i> My Orders </a> </li> <li style="margin-bottom: 5px;"> <a href="<?= SITE_URL ?>pages/wishlist.php" class="account-link" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--dark-text); text-decoration: none; transition: var(--transition);"> <i class="fas fa-heart"></i> Wishlist </a> </li> <li style="margin-bottom: 5px;"> <a href="<?= SITE_URL ?>pages/addresses.php" class="account-link" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--dark-text); text-decoration: none; transition: var(--transition);"> <i class="fas fa-map-marker-alt"></i> Addresses </a> </li> <li style="margin-bottom: 5px;"> <a href="<?= SITE_URL ?>pages/change-password.php" class="account-link" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--dark-text); text-decoration: none; transition: var(--transition);"> <i class="fas fa-lock"></i> Change Password </a> </li> <li> <a href="<?= SITE_URL ?>pages/logout.php" class="account-link" style="display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 8px; color: var(--danger); text-decoration: none; transition: var(--transition);"> <i class="fas fa-sign-out-alt"></i> Logout </a> </li> </ul> </div> </div> <!-- Main Content --> <div class="col-lg-9 col-md-8"> <?php display_flash(); ?> <div class="account-content" style="background: var(--white); border-radius: 16px; padding: 40px; box-shadow: var(--shadow-sm);"> <h2 style="font-size: 1.5rem; margin-bottom: 25px; font-family: var(--font-primary); font-weight: 600;">Profile Information</h2> <form method="POST"> <?= csrf_field() ?> <input type="hidden" name="update_profile" value="1"> <div class="row g-3"> <div class="col-md-6"> <label class="form-label">First Name</label> <input type="text" name="first_name" class="form-control" value="<?= htmlspecialchars($user['first_name']) ?>" required style="border-radius: 25px; padding: 10px 20px;"> </div> <div class="col-md-6"> <label class="form-label">Last Name</label> <input type="text" name="last_name" class="form-control" value="<?= htmlspecialchars($user['last_name']) ?>" required style="border-radius: 25px; padding: 10px 20px;"> </div> <div class="col-md-6"> <label class="form-label">Email Address</label> <input type="email" name="email" class="form-control" value="<?= htmlspecialchars($user['email']) ?>" required style="border-radius: 25px; padding: 10px 20px;"> </div> <div class="col-md-6"> <label class="form-label">Phone Number</label> <input type="tel" name="phone" class="form-control" value="<?= htmlspecialchars($user['phone'] ?? '') ?>" style="border-radius: 25px; padding: 10px 20px;"> </div> <div class="col-md-12"> <label class="form-label">Member Since</label> <input type="text" class="form-control" value="<?= date('F d, Y', strtotime($user['created_at'])) ?>" disabled style="border-radius: 25px; padding: 10px 20px;"> </div> <div class="col-md-12"> <button type="submit" class="btn-luxury"> <i class="fas fa-save"></i> Save Changes </button> </div> </div> </form> </div> <!-- Account Stats --> <div class="row g-3 mt-2"> <div class="col-md-4"> <div class="stat-card" style="background: var(--white); border-radius: 16px; padding: 25px; box-shadow: var(--shadow-sm); text-align: center;"> <i class="fas fa-box" style="font-size: 2rem; color: var(--primary-rose-gold); margin-bottom: 10px;"></i> <h3 style="font-size: 1.5rem; margin-bottom: 5px;"> <?= count(get_user_orders($_SESSION['user_id'], 100)) ?> </h3> <p class="text-muted" style="margin: 0;">Total Orders</p> </div> </div> <div class="col-md-4"> <div class="stat-card" style="background: var(--white); border-radius: 16px; padding: 25px; box-shadow: var(--shadow-sm); text-align: center;"> <i class="fas fa-heart" style="font-size: 2rem; color: var(--danger); margin-bottom: 10px;"></i> <h3 style="font-size: 1.5rem; margin-bottom: 5px;"> <?= count(get_user_wishlist($_SESSION['user_id'])) ?> </h3> <p class="text-muted" style="margin: 0;">Wishlist Items</p> </div> </div> <div class="col-md-4"> <div class="stat-card" style="background: var(--white); border-radius: 16px; padding: 25px; box-shadow: var(--shadow-sm); text-align: center;"> <i class="fas fa-star" style="font-size: 2rem; color: #ffc107; margin-bottom: 10px;"></i> <h3 style="font-size: 1.5rem; margin-bottom: 5px;">VIP</h3> <p class="text-muted" style="margin: 0;">Member Status</p> </div> </div> </div> </div> </div> </div> </section> <style> .account-link:hover { background: var(--soft-pink) !important; color: var(--primary-rose-gold) !important; } </style> </main> <?php require_once '../includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder