prepare("SELECT COUNT(*) FROM users WHERE username = :username OR email = :email"); $stmt->execute(['username' => $username, 'email' => $email]); if ($stmt->fetchColumn() > 0) { // Determine which one exists for better error message (optional but nice) // For simplicity: $errors[] = 'Username or Email is already taken.'; } else { // Hash password and insert new user $password_hash = password_hash($password, PASSWORD_DEFAULT); // Schema: id, username, email, password, role, created_at $insert_stmt = $pdo->prepare("INSERT INTO users (username, email, password, role) VALUES (:username, :email, :password, 'user')"); $insert_stmt->execute([ ':username' => $username, ':email' => $email, ':password' => $password_hash ]); // Log the user in immediately $_SESSION['user_id'] = $pdo->lastInsertId(); $_SESSION['username'] = $username; $_SESSION['role'] = 'user'; header("Location: dashboard.php"); exit(); } } catch (PDOException $e) { error_log("Database error: " . $e->getMessage()); $errors[] = 'An internal error occurred. Please try again later.'; } } } ?>
Join us to find your dream car in Afghanistan.
Already have an account? Login here.