prepare("SELECT password FROM users WHERE id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); if (password_verify($old_pass, $user['password'])) { if ($new_pass === $confirm_pass) { if (strlen($new_pass) >= 6) { $hashed = password_hash($new_pass, PASSWORD_DEFAULT); $pdo->prepare("UPDATE users SET password = ? WHERE id = ?")->execute([$hashed, $user_id]); $success = "Password changed successfully!"; } else { $error = "New password must be at least 6 characters."; } } else { $error = "New passwords do not match."; } } else { $error = "Incorrect current password."; } } if (isset($_POST['update_avatar'])) { if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === 0) { $ext = strtolower(pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION)); $allowed = ['jpg', 'jpeg', 'png', 'webp']; if (in_array($ext, $allowed)) { $filename = 'avatar_' . $user_id . '_' . time() . '.' . $ext; if (move_uploaded_file($_FILES['avatar']['tmp_name'], 'uploads/' . $filename)) { // Delete old avatar if exists $stmt = $pdo->prepare("SELECT avatar_url FROM users WHERE id = ?"); $stmt->execute([$user_id]); $old = $stmt->fetchColumn(); if ($old && strpos($old, 'uploads/') === 0) @unlink($old); $avatar_url = 'uploads/' . $filename; $pdo->prepare("UPDATE users SET avatar_url = ? WHERE id = ?")->execute([$avatar_url, $user_id]); $success = "Avatar updated!"; } } else { $error = "Invalid image format."; } } } } // Get user data $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$user_id]); $user_data = $stmt->fetch(); $avatar = $user_data['avatar_url'] ?: ''; // Get bookmarks $stmt = $pdo->prepare("SELECT v.* FROM videos v JOIN bookmarks b ON v.id = b.video_id WHERE b.user_id = ? ORDER BY b.created_at DESC"); $stmt->execute([$user_id]); $bookmarks = $stmt->fetchAll(); require_once 'includes/header.php'; ?>

Member since

My Bookmarks Security Logout

My Bookmarks

prepare("SELECT v.*, b.video_timestamp FROM videos v JOIN bookmarks b ON v.id = b.video_id WHERE b.user_id = ? ORDER BY b.created_at DESC"); $stmt->execute([$user_id]); $bookmarks = $stmt->fetchAll(); function formatTime($seconds) { if ($seconds <= 0) return ""; $mins = floor($seconds / 60); $secs = floor($seconds % 60); return sprintf("%d:%02d", $mins, $secs); } ?>

You haven't bookmarked any sermons yet.

At

Saved on

Security

Change Password

Keep your account secure by using a strong password.