prepare("SELECT id FROM users WHERE username = ? OR email = ?"); $stmt->execute([$username, $email]); if ($stmt->fetch()) { $errors[] = 'Username or email already exists.'; } else { $stmt = $pdo->query("SELECT id FROM users LIMIT 1"); $role = ($stmt->fetch()) ? 'client' : 'administrator'; $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO users (username, email, password, role) VALUES (?, ?, ?, ?)"); $stmt->execute([$username, $email, $hashedPassword, $role]); $messages[] = 'Registration successful! Please log in.'; } } catch (PDOException $e) { error_log("Signup Error: " . $e->getMessage()); $errors[] = 'A database error occurred during registration.'; } } } // Handle login if ($_POST['action'] === 'login') { $login = $_POST['login'] ?? ''; $password = $_POST['password'] ?? ''; if (empty($login) || empty($password)) { $errors[] = 'Please provide your login and password.'; } else { try { $pdo = db(); $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ? OR username = ?"); $stmt->execute([$login, $login]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; $_SESSION['role'] = $user['role']; $_SESSION['flash_message'] = 'Welcome back! You have successfully logged in.'; session_write_close(); header("Location: horses.php"); exit; } else { $errors[] = 'Invalid login credentials.'; } } catch (PDOException $e) { error_log("Login Error: " . $e->getMessage()); $errors[] = 'A database error occurred during login.'; } } } } // The rest of the file is for display purposes only if no redirect has happened. $now = date('Y-m-d H:i:s'); ?> Login / Sign Up

Login

Don't have an account? Sign up

Sign Up

Already have an account? Log in