V1rus Private
User / IP
:
216.73.217.108
Host / Server
:
190.92.174.125 / aerosofthealthcare.com
System
:
Linux s3739.bom1.stableserver.net 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
Cmd
|
Upload
|
Mass Deface
|
Create
|
Sym
:
/
home
/
aerosoft
/
public_html
/
exam
/
Viewing: register.php
<?php include 'config.php'; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Student Registration | LearnHub</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"> <style> :root { --primary-color: #4361ee; --secondary-color: #3a0ca3; --accent-color: #4cc9f0; --success-color: #4bb543; --light-bg: #f8f9fa; --dark-text: #2d3748; } body { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .register-container { max-width: 750px; margin: 30px auto; background: white; border-radius: 20px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1); overflow: hidden; animation: slideUp 0.6s ease-out; } @keyframes slideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .register-header { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; padding: 30px; text-align: center; position: relative; } .register-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.1" d="M0,96L48,112C96,128,192,160,288,186.7C384,213,480,235,576,213.3C672,192,768,128,864,128C960,128,1056,192,1152,192C1248,192,1344,128,1392,96L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>'); background-size: cover; } .register-header h2 { position: relative; font-weight: 700; margin-bottom: 10px; } .register-header p { position: relative; opacity: 0.9; font-size: 1.1rem; } .register-body { padding: 40px; } .form-control { border: 2px solid #e2e8f0; border-radius: 10px; padding: 12px 15px; font-size: 15px; transition: all 0.3s ease; } .form-control:focus { border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1); } .form-label { font-weight: 600; color: var(--dark-text); margin-bottom: 8px; } .input-group-icon { position: relative; } .input-group-icon .form-control { padding-left: 45px; } .input-group-icon i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #a0aec0; z-index: 5; } .btn-register { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); border: none; color: white; padding: 14px; border-radius: 10px; font-weight: 600; font-size: 16px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3); } .btn-register:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(67, 97, 238, 0.4); color: white; } .alert { border-radius: 10px; border: none; padding: 15px 20px; } .login-link { color: var(--primary-color); text-decoration: none; font-weight: 600; transition: color 0.3s ease; } .login-link:hover { color: var(--secondary-color); } .feature-card { background: var(--light-bg); border-radius: 15px; padding: 25px; text-align: center; height: 100%; transition: transform 0.3s ease; border: 1px solid #e2e8f0; } .feature-card:hover { transform: translateY(-5px); } .feature-icon { font-size: 2.5rem; color: var(--primary-color); margin-bottom: 15px; } .feature-card h5 { color: var(--dark-text); font-weight: 600; } .feature-card p { color: #718096; font-size: 0.9rem; } .password-strength { height: 5px; border-radius: 5px; margin-top: 5px; background: #e2e8f0; overflow: hidden; } .password-strength-bar { height: 100%; width: 0%; transition: all 0.3s ease; border-radius: 5px; } @media (max-width: 768px) { .register-container { margin: 15px; border-radius: 15px; } .register-body { padding: 25px; } .register-header { padding: 25px 20px; } } .floating-alert { position: fixed; top: 20px; right: 20px; z-index: 1050; animation: slideInRight 0.5s ease-out; } @keyframes slideInRight { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } } </style> </head> <body> <!-- Animated Background --> <div class="position-absolute w-100 h-100" style="z-index: -1;"> <div class="position-absolute top-0 start-0 w-100 h-100" style="background: rgba(255,255,255,0.1);"></div> </div> <div class="container py-4"> <div class="register-container"> <!-- Header --> <div class="register-header"> <h2><i class="fas fa-user-graduate me-2"></i>Join LearnHub</h2> <p>Start your learning journey today</p> </div> <!-- Body --> <div class="register-body"> <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { $name = sanitize($_POST['name']); $email = sanitize($_POST['email']); $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $phone = sanitize($_POST['phone']); $address = sanitize($_POST['address']); $dob = sanitize($_POST['dob']); $education = sanitize($_POST['education']); // Check if email exists $checkEmail = $pdo->prepare("SELECT id FROM students WHERE email = ?"); $checkEmail->execute([$email]); if ($checkEmail->rowCount() > 0) { echo '<div class="alert alert-danger d-flex align-items-center" role="alert"> <i class="fas fa-exclamation-triangle me-2"></i> <div>Email already exists! Please use a different email.</div> </div>'; } else { $stmt = $pdo->prepare("INSERT INTO students (name, email, password, phone, address, date_of_birth, education_level) VALUES (?, ?, ?, ?, ?, ?, ?)"); if ($stmt->execute([$name, $email, $password, $phone, $address, $dob, $education])) { echo '<div class="alert alert-success d-flex align-items-center" role="alert"> <i class="fas fa-check-circle me-2"></i> <div>Registration successful! <a href="login.php" class="alert-link">Login here</a></div> </div>'; } else { echo '<div class="alert alert-danger d-flex align-items-center" role="alert"> <i class="fas fa-exclamation-circle me-2"></i> <div>Registration failed! Please try again.</div> </div>'; } } } ?> <form method="POST" action="" id="registrationForm"> <div class="row"> <div class="col-md-6 mb-4"> <label class="form-label">Full Name <span class="text-danger">*</span></label> <div class="input-group-icon"> <i class="fas fa-user"></i> <input type="text" class="form-control" name="name" placeholder="Enter your full name" required> </div> </div> <div class="col-md-6 mb-4"> <label class="form-label">Email Address <span class="text-danger">*</span></label> <div class="input-group-icon"> <i class="fas fa-envelope"></i> <input type="email" class="form-control" name="email" placeholder="Enter your email" required> </div> </div> </div> <div class="row"> <div class="col-md-6 mb-4"> <label class="form-label">Password <span class="text-danger">*</span></label> <div class="input-group-icon"> <i class="fas fa-lock"></i> <input type="password" class="form-control" name="password" id="password" placeholder="Create a password" required> </div> <div class="password-strength"> <div class="password-strength-bar" id="passwordStrengthBar"></div> </div> <small class="text-muted">Use 8+ characters with mix of letters, numbers & symbols</small> </div> <div class="col-md-6 mb-4"> <label class="form-label">Phone Number</label> <div class="input-group-icon"> <i class="fas fa-phone"></i> <input type="tel" class="form-control" name="phone" placeholder="Enter your phone number"> </div> </div> </div> <div class="mb-4"> <label class="form-label">Address</label> <div class="input-group-icon"> <i class="fas fa-home" style="top: 20px;"></i> <textarea class="form-control" name="address" rows="3" placeholder="Enter your address"></textarea> </div> </div> <div class="row"> <div class="col-md-6 mb-4"> <label class="form-label">Date of Birth</label> <div class="input-group-icon"> <i class="fas fa-calendar-alt"></i> <input type="date" class="form-control" name="dob"> </div> </div> <div class="col-md-6 mb-4"> <label class="form-label">Education Level</label> <div class="input-group-icon"> <i class="fas fa-graduation-cap"></i> <select class="form-control" name="education"> <option value="">Select Education Level</option> <option value="High School">High School</option> <option value="Bachelor's">Bachelor's Degree</option> <option value="Master's">Master's Degree</option> <option value="PhD">PhD</option> <option value="Other">Other</option> </select> </div> </div> </div> <button type="submit" class="btn btn-register w-100 mb-4"> <i class="fas fa-user-plus me-2"></i>Create Account </button> </form> <div class="text-center"> <p class="mb-0">Already have an account? <a href="login.php" class="login-link"> <i class="fas fa-sign-in-alt me-1"></i>Sign In </a> </p> </div> </div> </div> <!-- Features Section --> <div class="row mt-5"> <div class="col-md-4 mb-4"> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-laptop-code"></i> </div> <h5>Learn Anywhere</h5> <p>Access courses from any device, anytime. Learn at your own pace with our flexible platform.</p> </div> </div> <div class="col-md-4 mb-4"> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-certificate"></i> </div> <h5>Get Certified</h5> <p>Earn recognized certificates upon course completion to boost your career prospects.</p> </div> </div> <div class="col-md-4 mb-4"> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-users"></i> </div> <h5>Join Community</h5> <p>Connect with fellow learners, share knowledge, and grow together in our vibrant community.</p> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script> // Password strength indicator document.getElementById('password').addEventListener('input', function() { const password = this.value; const strengthBar = document.getElementById('passwordStrengthBar'); let strength = 0; if (password.length >= 8) strength += 25; if (/[A-Z]/.test(password)) strength += 25; if (/[0-9]/.test(password)) strength += 25; if (/[^A-Za-z0-9]/.test(password)) strength += 25; strengthBar.style.width = strength + '%'; if (strength < 50) { strengthBar.style.background = '#e53e3e'; } else if (strength < 75) { strengthBar.style.background = '#ed8936'; } else { strengthBar.style.background = '#38a169'; } }); // Form validation animation const form = document.getElementById('registrationForm'); form.addEventListener('submit', function(e) { const requiredFields = form.querySelectorAll('[required]'); let valid = true; requiredFields.forEach(field => { if (!field.value.trim()) { field.style.borderColor = '#e53e3e'; valid = false; // Reset border color after 2 seconds setTimeout(() => { field.style.borderColor = '#e2e8f0'; }, 2000); } }); if (!valid) { e.preventDefault(); // Add shake animation to invalid fields requiredFields.forEach(field => { if (!field.value.trim()) { field.classList.add('animate__animated', 'animate__headShake'); setTimeout(() => { field.classList.remove('animate__animated', 'animate__headShake'); }, 1000); } }); } }); // Add loading state to submit button form.addEventListener('submit', function() { const submitBtn = form.querySelector('button[type="submit"]'); submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin me-2"></i>Creating Account...'; submitBtn.disabled = true; }); </script> </body> </html>
Coded With 💗 by
HanzOFC