Logo

🛒 PayPal Shop

Club Portal - Verzeichnis

Club Portal - Verzeichnis

## 📍 Projektbeschreibung

Professionelles Branchenverzeichnis und Plattform für Einträge, entwickelt mit PHP 8.4 und MySQL. Funktionen: Kategoriensuche, Suchfunktion, hervorgehobene Einträge und standortbasierte Filterung in einem dunklen Rotton.

## ✨ Funktionen

### Öffentliche Funktionen
- **Firmeneinträge**: Alle aktiven Unternehmen durchsuchen
- **Kategoriefilter**: Nach Geschäftskategorie filtern
- **Stadtfilter**: Standortbasierte Suche
- **Suchfunktion**: Suche nach Firmennamen/Beschreibung
- **Hervorgehobene Einträge**: Premium-Unternehmen hervorgehoben
- **Detailseiten**: Vollständige Unternehmensinformationen mit Kontaktdaten
- **Eintrag einreichen**: Öffentliches Formular zur Einreichung (Genehmigung erforderlich)
- **Kartenintegration**: Unterstützung für Längen- und Breitengrad

### Administratorfunktionen
- **Eintragsverwaltung**: Einträge genehmigen, bearbeiten und löschen
- **Hervorgehobene Einträge**: Unternehmen als hervorgehoben markieren
- **Kategorieverwaltung**: Benutzerdefinierte Kategorien mit Emojis hinzufügen
- **Bild-Upload**: Unternehmensfotos hochladen
- **Statusverwaltung**: Einträge aktivieren/deaktivieren

### Sicherheitsfunktionen
- ✅ PDO Prepared Statements (Schutz vor SQL-Injection)
- ✅ CSRF-Schutz (Cross-Site Request Forgery)
- ✅ Schutz vor XSS (HTML-Sonderzeichen in der gesamten Ausgabe)
- ✅ Bcrypt-Passwort-Hashing
- ✅ Sichere Sitzungen (HttpOnly, Secure, SameSite)

- ✅ Eingabevalidierung
- ✅ Sicherheit beim Datei-Upload

## 🚀 Installation

1. **Dateien hochladen**: Laden Sie alle Dateien auf Ihren Webserver hoch.
2. **Installer ausführen**: Öffnen Sie `install.php` in Ihrem Browser.
3. **Schritt 1**: Datenbankzugangsdaten eingeben.
4. **Schritt 2**: Administratorkonto konfigurieren.
5. **Schritt 3**: Die Installation wird automatisch abgeschlossen.
6. **Fertig**: 4 Standardkategorien erstellt.

### Voraussetzungen
- PHP 8.4 oder höher
- MySQL 5.7 oder höher
- Apache/Nginx mit mod_rewrite
- GD-Bibliothek (für Bildverarbeitung)

## 📁 Dateistruktur

```
Verzeichnis/
├── index.php # Hauptverzeichnis Seite
├── detail.php # Unternehmensdetailansicht
├── submit.php # Öffentliches Einreichungsformular
├── admin.php # Admin-Bereich
├── config.php # Konfiguration
├── style.css # Dunkelrotes Design
├── install.php # Auto-Installer
├── directory.sql # Datenbankschema
├── uploads/ # Unternehmensbilder
└── README.md # Diese Datei


## 🎨 Design

**Design**: Dunkelrot
- Primär: #dc2626
- Sekundär: #991b1b
- Akzent: #fca5a5
- Hintergrund: Dunkler Farbverlauf (#450a0a → #7f1d1d)

**Funktionen**:
- Glassmorphism-Effekte
- Kartenbasiertes Layout
- Hervorhebung von Top-Einträgen
- Responsives Rastersystem
- Für Mobilgeräte optimiertes Design

## 📊 Datenbankschema

### Tabellen
1. **Einträge**: Unternehmenseinträge
2. **Kategorien**: Unternehmenskategorien
3. **Admin**: Administratorkonten

### Eintragsfelder
- Basis: Titel, Beschreibung, Kategorie, Stadt
- Kontakt: Telefon, E-Mail, Website, Adresse
- Standort: Breitengrad, Längengrad (für Karten)
- Medien: Bild-Upload
- Status: Aktiv, Top-Einträge

## 🔧 Konfiguration

Bearbeiten Sie nach der Installation die Datei `config.php`:

```php
define('UPLOAD_DIR','uploads/'); // Bildverzeichnis


## 📝 Benutzerhandbuch

### Einträge hinzufügen (öffentlich)
1. Klicken Sie auf „Eintrag hinzufügen“.
2. Geben Sie die Unternehmensdaten ein.
3. Laden Sie ein Bild hoch (optional).
4. Senden Sie den Eintrag zur Genehmigung.
5. Der Administrator genehmigt den Eintrag.

### Einträge verwalten (Admin)
1. Melden Sie sich im Admin-Bereich an.
2. Sehen Sie sich die ausstehenden Einreichungen an.
3. Klicken Sie auf „Genehmigen“, um den Eintrag zu aktivieren.
4. Klicken Sie auf „Hervorheben“, um den Eintrag prominent zu platzieren.
5. Kategorien verwalten

### Kategorien
Standardkategorien:

- 🍽️ Restaurants
- 🍺 Bars & Clubs
- 🏨 Hotels
- ⚙️ Dienstleistungen

Fügen Sie benutzerdefinierte Kategorien mit Emoji-Symbolen hinzu!


## 🗺️ Kartenintegration

Das System unterstützt Koordinaten (Breiten-/Längengrad) für jeden Eintrag. So integrieren Sie Karten:

1. Google Maps API-Schlüssel hinzufügen
2. detail.php mit Karteneinbettung aktualisieren
3. Standort auf der Karte anzeigen

Beispielkoordinaten:

- Breitengrad: 51.5074 (London)

- Längengrad: -0.1278

## 🔐 Sicherheitsmaßnahmen

- Standard-Admin-Passwort ändern

- HTTPS für den Produktivbetrieb verwenden

- Regelmäßige Datenbank-Backups erstellen

- Einsendungen auf Spam prüfen

- Alle Benutzereingaben validieren

- Korrekte Dateiberechtigungen festlegen

- PHP/MySQL aktuell halten

## 🐛 Fehlerbehebung

**Bilder werden nicht hochgeladen?**
- Prüfen, ob der Ordner „uploads/“ existiert
- Ordnerberechtigungen prüfen (755)
- Dateigrößenbeschränkungen prüfen

**Einträge werden nicht angezeigt?**
- Aktivstatus im Adminbereich prüfen
- Kategoriefilter prüfen
- Datenbankverbindung prüfen

**Suche funktioniert nicht?**
- Suchanfrage-Syntax prüfen
- Datenbankkodierung prüfen (utf8mb4)

## 📧 Funktionsübersicht

Zukünftige Erweiterungen:

- Benutzerkonten für Unternehmen

- Bewertungen und Rezensionen

- Öffnungszeiten

- Fotogalerien

- E-Mail-Benachrichtigungen

- Erweiterte Suchfilter

- Social-Media-Links

- Business-Analyse

## 📄 Lizenz

Professionelle Verzeichnisplattform
Alle Rechte vorbehalten.

## 🔄 Versionsverlauf

**v1.0** – Erste Veröffentlichung

- Vollständiges Eintragssystem
- Kategorienverwaltung
- Suche & Filter
- Hervorgehobene Einträge
- Öffentliche Einträge
- Genehmigungssystem für Administratoren
- Dunkelrotes Design
- Auto-Installer
- Bild-Uploads

---

**Entwickelt mit PHP 8.4 | MySQL | Moderne Sicherheitsstandards**
**Dunkelrotes Design | Responsives Design | SEO-optimiert**