trim((string) ($_POST['full_name'] ?? '')), 'email' => trim((string) ($_POST['email'] ?? '')), 'whatsapp' => trim((string) ($_POST['whatsapp'] ?? '')), 'category' => trim((string) ($_POST['category'] ?? 'Penyanyi')), 'consent_accuracy' => isset($_POST['consent_accuracy']), 'consent_audition' => isset($_POST['consent_audition']), 'consent_contract' => isset($_POST['consent_contract']), 'consent_data' => isset($_POST['consent_data']), ]; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $form['whatsapp'] = normalize_whatsapp($form['whatsapp']); if ($form['full_name'] === '' || mb_strlen($form['full_name']) < 3) { $errors[] = 'Nama lengkap minimal 3 karakter.'; } if (!filter_var($form['email'], FILTER_VALIDATE_EMAIL)) { $errors[] = 'Format email belum valid.'; } if ($form['whatsapp'] === '' || mb_strlen($form['whatsapp']) < 8) { $errors[] = 'Nomor WhatsApp belum valid.'; } if (!array_key_exists($form['category'], $categories)) { $errors[] = 'Kategori pendaftaran tidak tersedia.'; } if (!$form['consent_accuracy'] || !$form['consent_audition'] || !$form['consent_contract'] || !$form['consent_data']) { $errors[] = 'Semua persetujuan wajib dicentang.'; } if (!$errors) { try { $photoUrl = handle_optional_upload('photo', [ 'image/jpeg' => 'jpg', 'image/png' => 'png', 'image/webp' => 'webp', ], 4 * 1024 * 1024, 'photos'); $videoUrl = handle_optional_upload('video', [ 'video/mp4' => 'mp4', 'video/quicktime' => 'mov', 'video/webm' => 'webm', ], 8 * 1024 * 1024, 'videos'); $stmt = db()->prepare('INSERT INTO talent_applications (full_name, email, whatsapp, category, photo_url, video_url, consent_accuracy, consent_audition, consent_contract, consent_data, status) VALUES (:full_name, :email, :whatsapp, :category, :photo_url, :video_url, :consent_accuracy, :consent_audition, :consent_contract, :consent_data, :status)'); $stmt->execute([ ':full_name' => $form['full_name'], ':email' => $form['email'], ':whatsapp' => $form['whatsapp'], ':category' => $form['category'], ':photo_url' => $photoUrl, ':video_url' => $videoUrl, ':consent_accuracy' => $form['consent_accuracy'] ? 1 : 0, ':consent_audition' => $form['consent_audition'] ? 1 : 0, ':consent_contract' => $form['consent_contract'] ? 1 : 0, ':consent_data' => $form['consent_data'] ? 1 : 0, ':status' => 'review', ]); flash_set('register_success', [ 'id' => (int) db()->lastInsertId(), 'full_name' => $form['full_name'], 'email' => $form['email'], 'category' => $form['category'], 'submitted_at' => gmdate('d M Y H:i') . ' UTC', ]); header('Location: register.php?success=1'); exit; } catch (Throwable $exception) { $errors[] = 'Pendaftaran belum dapat dikirim. Silakan coba lagi.'; } } } $success = isset($_GET['success']) ? flash_get('register_success') : null; render_head('Daftar', 'Talent registration page for KOBA Entertainment Indonesia.'); render_header('register'); ?>
'Daftar', 'jp' => '応募']) ?>>Daftar

'Bergabunglah bersama KOBA Entertainment.', 'jp' => 'KOBA Entertainmentに参加しませんか。']) ?>>Bergabunglah bersama KOBA Entertainment.

'Kirim profil Anda untuk singer, talent, atau kreator. Tim KEI akan meninjau data dan media pendukung sebagai tahap awal audisi atau kolaborasi.', 'jp' => 'シンガー、タレント、クリエイターとしてプロフィールを送信してください。KEIチームが応募データと補足メディアを確認し、オーディションまたは協業の初期選考を行います。']) ?>>Kirim profil Anda untuk singer, talent, atau kreator. Tim KEI akan meninjau data dan media pendukung sebagai tahap awal audisi atau kolaborasi.

'Masukkan nama lengkap', 'jp' => '氏名を入力']) ?>>
'nama@email.com', 'jp' => 'name@email.com']) ?>>
'08xxxxxxxxxx', 'jp' => '連絡先番号']) ?>>
JPG, PNG, WEBP · max 4MB
MP4, MOV, WEBM · max 8MB