getConnection(); // ============================================= // CARICAMENTO CERTIFICATO (POST) // ============================================= $success = $error = ""; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['certificate']) && $_FILES['certificate']['error'] === UPLOAD_ERR_OK) { $file = $_FILES['certificate']; $allowed_ext = ['jpg', 'jpeg', 'png', 'pdf', 'heic', 'heif']; $ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $allowed_ext)) { $error = "Formato non supportato. Ammessi: jpg, jpeg, png, pdf, heic, heif"; } elseif ($file['size'] > 10 * 1024 * 1024) { $error = "File troppo grande (max 10MB)"; } elseif (empty($_POST['expiry_date'])) { $error = "La data di scadenza รจ obbligatoria"; } else { $upload_dir = __DIR__ . '/certificate/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0755, true); } $safe_name = preg_replace('/[^a-zA-Z0-9\._-]/', '_', basename($file['name'])); $new_filename = $iduserlogin . '-' . time() . '-' . $safe_name; $destination = $upload_dir . $new_filename; if (move_uploaded_file($file['tmp_name'], $destination)) { $document_name = trim($_POST['document_name'] ?? 'certificato'); if (empty($document_name)) $document_name = 'certificato'; $expiry_date = $_POST['expiry_date']; $notes = trim($_POST['notes'] ?? ''); $stmt = $pdo->prepare(" INSERT INTO user_medical_certificates (user_id, filename, stored_path, document_name, expiry_date, notes, uploaded_at) VALUES (?, ?, ?, ?, ?, ?, NOW()) "); $stmt->execute([ $iduserlogin, $file['name'], 'userarea/certificate/' . $new_filename, // โ† solo questo $document_name, $expiry_date, $notes ]); $success = "Certificato caricato correttamente!"; } else { $error = "Errore durante il salvataggio del file."; } } } // ============================================= // ELIMINAZIONE CERTIFICATO // ============================================= if (isset($_GET['delete']) && is_numeric($_GET['delete'])) { $cert_id = (int)$_GET['delete']; $stmt = $pdo->prepare("SELECT stored_path FROM user_medical_certificates WHERE id = ? AND user_id = ?"); $stmt->execute([$cert_id, $iduserlogin]); $cert = $stmt->fetch(); if ($cert) { $full_path = __DIR__ . '/' . $cert['stored_path']; if (file_exists($full_path)) { @unlink($full_path); } $stmt = $pdo->prepare("DELETE FROM user_medical_certificates WHERE id = ? AND user_id = ?"); $stmt->execute([$cert_id, $iduserlogin]); $success = "Certificato eliminato."; } } // ============================================= // LISTA CERTIFICATI // ============================================= $stmt = $pdo->prepare(" SELECT id, filename, stored_path, document_name, expiry_date, uploaded_at, notes FROM user_medical_certificates WHERE user_id = ? ORDER BY uploaded_at DESC "); $stmt->execute([$iduserlogin]); $certificates = $stmt->fetchAll(PDO::FETCH_ASSOC); // Dati utente base (solo per titolo o saluto) $stmt = $pdo->prepare("SELECT first_name FROM auth_users WHERE id = ?"); $stmt->execute([$iduserlogin]); $user = $stmt->fetch(); ?> I miei Certificati Medici - Yogiboook

I miei Certificati Medici

Trascina qui il file oppure clicca per selezionare

Formati: jpg, jpeg, png, pdf, heic, heif (max 10 MB)

Nessun certificato caricato
Certificati caricati ()
Data caricamento Nome documento / File Scadenza Note Azioni

()
SCADUTO 100 ? '...' : '') : 'โ€”' ?> Elimina