diff --git a/admin.php b/admin.php
new file mode 100644
index 0000000..8eb93f5
--- /dev/null
+++ b/admin.php
@@ -0,0 +1,130 @@
+query('SELECT id, name, surname, email, role, created_at FROM users ORDER BY created_at DESC');
+ $users = $stmt_users->fetchAll(PDO::FETCH_ASSOC);
+
+ // 3. Veritabanından tüm influencer isteklerini çek
+ $stmt_requests = $pdo->query('
+ SELECT
+ ir.id, ir.client_name, ir.client_surname, ir.client_phone, ir.message, ir.status, ir.created_at,
+ u.name as influencer_name, u.surname as influencer_surname
+ FROM influencer_requests ir
+ JOIN users u ON ir.influencer_user_id = u.id
+ ORDER BY ir.created_at DESC
+ ');
+ $requests = $stmt_requests->fetchAll(PDO::FETCH_ASSOC);
+
+} catch (PDOException $e) {
+ // Geliştirme aşamasında hatayı görmek faydalı olabilir
+ $error_message = "Veritabanı hatası: " . $e->getMessage();
+}
+
+?>
+
+
+
+
+
+
+
+
+
Influencer Talepleri
+
İşletmelerden gelen en son talepler.
+
+
+
+
+ | ID |
+ Talep Eden |
+ Telefon |
+ Influencer |
+ Durum |
+ Tarih |
+ Mesaj |
+
+
+
+
+
+ | Henüz hiç talep gelmemiş. |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
Kullanıcı Yönetimi
+
Sisteme kayıtlı tüm kullanıcıların listesi.
+
+
+
+
+ | ID |
+ Ad |
+ Soyad |
+ E-posta |
+ Rol |
+ Kayıt Tarihi |
+
+
+
+
+
+ | Sistemde hiç kullanıcı bulunamadı. |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/apply.php b/apply.php
new file mode 100644
index 0000000..fedeccc
--- /dev/null
+++ b/apply.php
@@ -0,0 +1,55 @@
+prepare("UPDATE users SET bio = ?, category = ?, profile_status = 'pending' WHERE id = ?");
+ $stmt->execute([$bio, $category, $user_id]);
+ $message = 'Profiliniz başarıyla güncellendi. Başvurunuz incelenmek üzere gönderildi.
';
+ } catch (PDOException $e) {
+ $message = 'Profil güncellenirken bir hata oluştu: ' . $e->getMessage() . '
';
+ }
+}
+
+// Fetch current user data
+$stmt = $pdo->prepare("SELECT bio, category FROM users WHERE id = ?");
+$stmt->execute([$user_id]);
+$user = $stmt->fetch(PDO::FETCH_ASSOC);
+
+?>
+
+
+
Başvuru Yap / Profili Düzenle
+
Influencer profilinizi tamamlamak veya güncellemek için aşağıdaki formu doldurun.
+
+
+
+
+
+
+
diff --git a/assets/css/custom.css b/assets/css/custom.css
new file mode 100644
index 0000000..55b080f
--- /dev/null
+++ b/assets/css/custom.css
@@ -0,0 +1,185 @@
+/* Beni de Unlu Yap - Custom CSS */
+
+:root {
+ --primary-color: #5A67D8; /* Indigo */
+ --accent-color: #38B2AC; /* Teal */
+ --bg-light: #F7FAFC;
+ --surface-white: #FFFFFF;
+ --text-dark: #2D3748;
+ --text-medium: #4A5568;
+ --border-color: #E2E8F0;
+}
+
+body {
+ font-family: 'Inter', sans-serif;
+ color: var(--text-medium);
+ background-color: var(--bg-light);
+ margin: 0;
+ line-height: 1.6;
+}
+
+h1, h2, h3 {
+ font-family: 'Georgia', serif;
+ color: var(--text-dark);
+ font-weight: 700;
+}
+
+.container {
+ max-width: 960px;
+ margin: 2rem auto;
+ padding: 0 1.5rem;
+}
+
+/* Header */
+header {
+ background-color: var(--surface-white);
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
+ padding: 1rem 1.5rem;
+}
+
+nav {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ max-width: 1200px;
+ margin: 0 auto;
+}
+
+nav .logo {
+ font-family: 'Georgia', serif;
+ font-size: 1.5rem;
+ font-weight: 700;
+ color: var(--primary-color);
+ text-decoration: none;
+}
+
+nav ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ gap: 1.5rem;
+}
+
+nav a {
+ text-decoration: none;
+ color: var(--text-dark);
+ font-weight: 500;
+ transition: color 0.3s ease;
+}
+
+nav a:hover {
+ color: var(--primary-color);
+}
+
+/* Hero Section */
+.hero {
+ background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
+ color: var(--surface-white);
+ text-align: center;
+ padding: 5rem 1.5rem;
+}
+
+.hero h1 {
+ font-size: 3rem;
+ color: var(--surface-white);
+ margin-bottom: 1rem;
+}
+
+.hero p {
+ font-size: 1.2rem;
+ margin-bottom: 2rem;
+}
+
+/* Buttons */
+.btn {
+ display: inline-block;
+ background-color: var(--primary-color);
+ color: var(--surface-white);
+ padding: 0.8rem 1.5rem;
+ border-radius: 0.5rem;
+ text-decoration: none;
+ font-weight: 700;
+ border: none;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+}
+
+.btn:hover {
+ background-color: #434190;
+}
+
+/* Forms */
+.form-group {
+ margin-bottom: 1.5rem;
+}
+
+.form-group label {
+ display: block;
+ font-weight: 700;
+ margin-bottom: 0.5rem;
+ color: var(--text-dark);
+}
+
+.form-group input,
+.form-group textarea {
+ width: 100%;
+ padding: 0.8rem;
+ border: 1px solid var(--border-color);
+ border-radius: 0.5rem;
+ font-size: 1rem;
+}
+
+.form-group input:focus,
+.form-group textarea:focus {
+ outline: none;
+ border-color: var(--primary-color);
+ box-shadow: 0 0 0 3px rgba(90, 103, 216, 0.3);
+}
+
+/* Sections */
+section {
+ padding: 3rem 0;
+ border-bottom: 1px solid var(--border-color);
+}
+
+.features-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
+ gap: 2rem;
+ margin-top: 2rem;
+}
+
+.feature-item {
+ background: var(--surface-white);
+ padding: 2rem;
+ border-radius: 0.5rem;
+ box-shadow: 0 4px 12px rgba(0,0,0,0.05);
+}
+
+/* Footer */
+footer {
+ text-align: center;
+ padding: 2rem 0;
+ color: var(--text-medium);
+}
+
+/* Alerts */
+.errors, .success {
+ padding: 1rem;
+ margin-bottom: 1rem;
+ border-radius: 0.5rem;
+ border: 1px solid;
+}
+
+.errors {
+ background-color: #FED7D7;
+ color: #9B2C2C;
+ border-color: #F56565;
+}
+
+.success {
+ background-color: #C6F6D5;
+ color: #2F855A;
+ border-color: #68D391;
+}
diff --git a/assets/js/main.js b/assets/js/main.js
new file mode 100644
index 0000000..fa40783
--- /dev/null
+++ b/assets/js/main.js
@@ -0,0 +1 @@
+// Beni de Unlu Yap - Main JS file
\ No newline at end of file
diff --git a/dashboard.php b/dashboard.php
new file mode 100644
index 0000000..a699f80
--- /dev/null
+++ b/dashboard.php
@@ -0,0 +1,43 @@
+
+
+
+
Panelim
+
Hoş geldin, !
+
Burası sizin kişisel paneliniz. Projeyle ilgili işlemlerinizi buradan yönetebilirsiniz.
+
+
+
+
+
+
+
Ajans paneli özellikleri yakında burada olacak.
+
+
Yönetim işlemleri için Admin Paneli'ni kullanabilirsiniz.
+
+
+
+
+
diff --git a/db/migrate.php b/db/migrate.php
new file mode 100644
index 0000000..399392d
--- /dev/null
+++ b/db/migrate.php
@@ -0,0 +1,46 @@
+setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+ $pdo_server->exec("CREATE DATABASE IF NOT EXISTS `" . DB_NAME . "` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
+ echo "Database '" . DB_NAME . "' checked/created.\n";
+
+ // Connect to the specific database
+ $pdo = db();
+ echo "Database connected successfully.\n";
+
+ // Ensure users table exists with a minimal schema
+ $pdo->exec("\n CREATE TABLE IF NOT EXISTS `users` (\n `id` INT AUTO_INCREMENT PRIMARY KEY,\n `email` VARCHAR(100) NOT NULL UNIQUE,\n `password` VARCHAR(255) NOT NULL,\n `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\n ");
+ echo "Base 'users' table checked/created.\n";
+
+ // --- Add columns if they don't exist ---
+
+ $columns = [
+ 'name' => "ADD COLUMN `name` VARCHAR(50) NOT NULL AFTER `id`",
+ 'surname' => "ADD COLUMN `surname` VARCHAR(50) NOT NULL AFTER `name`",
+ 'role' => "ADD COLUMN `role` ENUM('talent', 'agency', 'admin') NOT NULL DEFAULT 'talent' AFTER `password`",
+ 'bio' => "ADD COLUMN `bio` TEXT AFTER `role`",
+ 'category' => "ADD COLUMN `category` VARCHAR(100) AFTER `bio`",
+ 'profile_status' => "ADD COLUMN `profile_status` VARCHAR(50) NOT NULL DEFAULT 'new' AFTER `category`"
+ ];
+
+ foreach ($columns as $column_name => $add_sql) {
+ $stmt = $pdo->query("SHOW COLUMNS FROM `users` LIKE '$column_name'");
+ if ($stmt->fetch(PDO::FETCH_ASSOC)) {
+ echo "Column '$column_name' already exists.\n";
+ } else {
+ $pdo->exec("ALTER TABLE `users` $add_sql;");
+ echo "Column '$column_name' added successfully.\n";
+ }
+ }
+
+ // Create 'influencer_requests' table if not exists
+ $pdo->exec("\n CREATE TABLE IF NOT EXISTS `influencer_requests` (\n `id` INT AUTO_INCREMENT PRIMARY KEY,\n `influencer_user_id` INT NOT NULL,\n `client_name` VARCHAR(255) NOT NULL,\n `client_surname` VARCHAR(255) NOT NULL,\n `client_phone` VARCHAR(50) NOT NULL,\n `message` TEXT,\n `status` VARCHAR(50) NOT NULL DEFAULT 'new',\n `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (`influencer_user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\n ");
+ echo "Table 'influencer_requests' checked/created.\n";
+
+} catch (PDOException $e) {
+ die("Error: " . $e->getMessage());
+}
diff --git a/footer.php b/footer.php
new file mode 100644
index 0000000..7a04f6b
--- /dev/null
+++ b/footer.php
@@ -0,0 +1,7 @@
+
+
+
+