diff --git a/add_attendee.php b/add_attendee.php index 40e0786..5a02915 100644 --- a/add_attendee.php +++ b/add_attendee.php @@ -7,6 +7,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $company = trim($_POST['company'] ?? ''); $occupation = trim($_POST['occupation'] ?? ''); $relation = trim($_POST['relation'] ?? ''); + $company_type = trim($_POST['company_type'] ?? ''); + $linkedin_url = trim($_POST['linkedin_url'] ?? ''); if (empty($name) || empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { header('Location: index.php?status=error'); @@ -16,13 +18,15 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { try { $pdo = db(); $stmt = $pdo->prepare( - "INSERT INTO attendees (name, email, company, occupation, relation) VALUES (:name, :email, :company, :occupation, :relation)" + "INSERT INTO attendees (name, email, company, occupation, relation, company_type, linkedin_url) VALUES (:name, :email, :company, :occupation, :relation, :company_type, :linkedin_url)" ); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':email', $email, PDO::PARAM_STR); $stmt->bindParam(':company', $company, PDO::PARAM_STR); $stmt->bindParam(':occupation', $occupation, PDO::PARAM_STR); $stmt->bindParam(':relation', $relation, PDO::PARAM_STR); + $stmt->bindParam(':company_type', $company_type, PDO::PARAM_STR); + $stmt->bindParam(':linkedin_url', $linkedin_url, PDO::PARAM_STR); $stmt->execute(); diff --git a/assets/css/custom.css b/assets/css/custom.css index 0eb9e42..929cf22 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -1,39 +1,134 @@ + +:root { + --primary-color: #8a2be2; /* Bright Purple */ + --secondary-color: #ff1493; /* Deep Pink */ + --accent-color: #ff4500; /* Orange Red */ + --light-color: #ffffff; + --dark-color: #1a1a1a; + --background-color: #f0e6ff; /* Light Lavender */ + --font-family-headings: 'Poppins', sans-serif; + --font-family-body: 'Montserrat', sans-serif; +} + body { - background-color: #f8f9fa; /* Light gray background */ - font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + background-color: var(--background-color); + font-family: var(--font-family-body); + color: var(--dark-color); } .hero { - background: linear-gradient(135deg, #6f42c1, #4a148c); /* Purple gradient */ - color: white; - padding: 4rem 2rem; - border-radius: 0.5rem; + background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); + color: var(--light-color); + padding: 5rem 2rem; + border-radius: 20px; + text-align: center; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); + transform: scale(1.02); } .hero h1 { + font-family: var(--font-family-headings); font-weight: 700; + font-size: 3.5rem; + text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } .form-section, .list-section { - background: #ffffff; /* White */ - padding: 2rem; - border-radius: 0.5rem; - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - margin-top: 2rem; + background: rgba(255, 255, 255, 0.8); + backdrop-filter: blur(10px); + padding: 2.5rem; + border-radius: 20px; + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); + margin-top: 3rem; + transition: transform 0.3s ease-in-out; +} + +.form-section:hover, .list-section:hover { + transform: translateY(-10px); +} + +h2 { + font-family: var(--font-family-headings); + color: var(--primary-color); + margin-bottom: 1.5rem; +} + +.form-control, .form-select { + border-radius: 10px; + padding: 0.75rem 1rem; + border: 1px solid #ddd; + transition: all 0.3s ease; +} + +.form-control:focus, .form-select:focus { + border-color: var(--primary-color); + box-shadow: 0 0 10px rgba(138, 43, 226, 0.3); } .btn-primary { - background-color: #dc3545; /* Red */ - border-color: #dc3545; /* Red */ + background-image: linear-gradient(to right, var(--accent-color), var(--secondary-color)); + border: none; + border-radius: 10px; + padding: 0.75rem 1.5rem; + font-weight: 500; + color: var(--light-color); + transition: all 0.4s ease; + background-size: 200% auto; + animation: pulse 2s infinite; } .btn-primary:hover { - background-color: #c82333; /* Darker Red */ - border-color: #bd2130; /* Darker Red */ + background-position: right center; + transform: scale(1.05); + box-shadow: 0 5px 15px rgba(255, 20, 147, 0.4); +} + +@keyframes pulse { + 0% { transform: scale(1); } + 50% { transform: scale(1.03); } + 100% { transform: scale(1); } } .table { - margin-top: 1.5rem; + margin-top: 2rem; + border-collapse: separate; + border-spacing: 0 10px; +} + +.table thead th { + background-color: var(--primary-color); + color: var(--light-color); + border: none; +} + +.table tbody tr { + background-color: var(--light-color); + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); + border-radius: 10px; +} + +.table tbody td { + padding: 1rem; +} + +.table tbody tr td:first-child { + border-top-left-radius: 10px; + border-bottom-left-radius: 10px; +} + +.table tbody tr td:last-child { + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; +} + +.table a { + color: var(--accent-color); + text-decoration: none; + font-weight: 500; +} + +.table a:hover { + text-decoration: underline; } .toast-container { @@ -41,4 +136,4 @@ body { top: 1rem; right: 1rem; z-index: 1055; -} \ No newline at end of file +} diff --git a/db/setup.php b/db/setup.php index 3d865b1..ee7eb7d 100644 --- a/db/setup.php +++ b/db/setup.php @@ -11,6 +11,8 @@ try { company VARCHAR(255), occupation VARCHAR(255), relation VARCHAR(50), + company_type VARCHAR(100), + linkedin_url VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );"; $pdo->exec($sql); diff --git a/index.php b/index.php index 217dd00..c8ab494 100644 --- a/index.php +++ b/index.php @@ -5,7 +5,7 @@ require_once __DIR__ . '/db/setup.php'; $attendees = []; try { $pdo = db(); - $stmt = $pdo->query("SELECT name, company, occupation, relation, created_at FROM attendees ORDER BY created_at DESC"); + $stmt = $pdo->query("SELECT name, company, occupation, relation, company_type, linkedin_url, created_at FROM attendees ORDER BY created_at DESC"); $attendees = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { // Silently fail for now, or log error @@ -28,7 +28,7 @@ try { - + @@ -64,6 +64,22 @@ try { +
+ + +
+
+ + +