prepare("SELECT id FROM users WHERE email = ? AND id != ?"); $stmt->execute([$email, $user_id]); if ($stmt->fetch()) { $error = 'Questa email è già in uso'; } else { // Aggiorna profilo $stmt = $pdo->prepare(" UPDATE users SET first_name = ?, last_name = ?, email = ?, phone = ?, updated_at = NOW() WHERE id = ? "); if ($stmt->execute([$first_name, $last_name, $email, $phone, $user_id])) { $success = true; $user = get_user_by_id($user_id); // Ricarica dati set_flash_message('success', 'Profilo aggiornato con successo!'); } else { $error = 'Errore durante l\'aggiornamento'; } } } } // Processa cambio password if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['change_password'])) { $current_password = $_POST['current_password'] ?? ''; $new_password = $_POST['new_password'] ?? ''; $confirm_password = $_POST['confirm_password'] ?? ''; if (empty($current_password) || empty($new_password)) { $error = 'Inserisci la password attuale e la nuova password'; } elseif (!verify_password($current_password, $user['password'])) { $error = 'Password attuale non corretta'; } elseif (strlen($new_password) < 6) { $error = 'La nuova password deve essere di almeno 6 caratteri'; } elseif ($new_password !== $confirm_password) { $error = 'Le password non corrispondono'; } else { $pdo = get_db_connection(); $hashed_password = hash_password($new_password); $stmt = $pdo->prepare("UPDATE users SET password = ?, updated_at = NOW() WHERE id = ?"); if ($stmt->execute([$hashed_password, $user_id])) { set_flash_message('success', 'Password cambiata con successo!'); header('Location: profile.php'); exit; } else { $error = 'Errore durante il cambio password'; } } } ?>
Admin