## đ 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**