🛒 scripte-pay.de

QR Portal - Professionelle QR-Codes

QR Portal - Professionelle QR-Codes

📱 QR Portal - Professionelle QR-Codes

📋 Überblick

Komplettes QR-Code-Portal mit User-Management, vielfältigen QR-Typen, individueller Gestaltung und EU-Zahlungs-QR-Codes.

**Features:**
- 👤 **User-System:** Registrierung & Login
- 📱 **12 QR-Typen:** URL, Text, Zahlungen, Produkte, Downloads, Bücher, WiFi, vCard, etc.
- 💶 **EU-Zahlungen:** SEPA QR (IBAN) & PayPal
- 🎨 **Individuell:** Eigene Farben & Logo
- 💾 **Speichern:** Alle QR-Codes in Datenbank
- 📊 **Statistiken:** Scans tracken
- ⬇️ **Download:** PNG-Format



✨ QR-Code Typen

1. **URL / Link** 🌐
- Webseiten
- Social Media Profile
- Online-Shops

2. **Text / Info** 📄
- Produktinfos
- Anleitungen
- Beschreibungen

3. **SEPA Zahlung** 💶
- **EU-konform!**
- IBAN eingeben
- Empfängername
- Betrag (optional)
- Verwendungszweck
- **Funktioniert mit jeder Banking-App!**

4. **PayPal Zahlung** 💳
- PayPal Username/Email
- Betrag (optional)
- Erstellt paypal.me Link

5. **Produkt** 📦
- Produktseiten
- Zusatzinfos
- Support-Links

6. **Download** ⬇️
- PDFs
- Software
- Dateien

7. **Buch** 📚
- Zusatzinfos
- Leseproben
- Autor-Website

8. **E-Mail** 📧
- Mailto-Link
- Öffnet E-Mail-App

9. **Telefon** 📱
- Tel-Link
- Direktanruf

10. **SMS** 💬
- SMS-Link
- Vorbefüllte Nummer

11. **WiFi** 📶
- WLAN-Zugang
- SSID + Passwort
- Verschlüsselung (WPA/WEP)
- **Ein Scan = Verbunden!**

12. **vCard (Visitenkarte)** 👤
- Name
- Telefon
- E-Mail
- Direkt in Kontakte speichern



💻 Technische Details

Dateien:

- **config.php** - Konfiguration (von install.php)
- **functions.php** - Hilfsfunktionen
- **install.php** - Installation
- **style.css** - Design (Lila/Pink Gradient)
- **login.php** - Login & Registrierung
- **logout.php** - Logout
- **index.php** - Startseite
- **create.php** - QR-Code Generator (HERZSTÜCK!)
- **dashboard.php** - User-Dashboard
- **qr_codes/** - Generierte QR-Codes
- **logos/** - Hochgeladene Logos

Datenbank (2 Tabellen):

**qr_users:**
- id, username, email, password_hash
- created_at

**qr_codes:**
- id, user_id, title, type
- data (QR-Inhalt)
- qr_color, qr_bgcolor, qr_size
- logo_filename, filename
- short_code (für Tracking)
- scan_count
- created_at, updated_at



🚀 Installation

Schritt 1: Dateien hochladen

bash
Alle Dateien auf Webserver hochladen


Schritt 2: Verzeichnisse prüfen

bash
chmod 755 qr_codes/
chmod 755 logos/


Schritt 3: install.php aufrufen


https://deine-domain.de/install.php


Schritt 4: Daten eingeben

- DB Host: `localhost`
- DB Name: `qr_portal`
- DB User: `db_user`
- DB Password: `db_password`
- Portal-Name: `QR Portal` (oder eigener Name)

Schritt 5: Installation abschließen

- 2 Tabellen werden erstellt
- install.php löscht sich selbst
- **Fertig!**



📖 Benutzung

Als User:

1. **Registrieren** auf der Startseite
2. **Login** mit E-Mail & Passwort
3. **"+ QR erstellen" klicken**
4. **Typ auswählen** (z.B. "SEPA Zahlung")
5. **Daten eingeben** (IBAN, Betrag, etc.)
6. **Design anpassen:**
- Farbe wählen (Standard: Schwarz)
- Größe wählen (300-1000px)
- Logo hochladen (optional)
7. **"QR-Code generieren" klicken**
8. **Im Dashboard:**
- Alle QR-Codes sehen
- Downloaden (PNG)
- Statistiken (Scans)
- Löschen



💶 SEPA QR-Code (EPC)

Was ist das?

**SEPA QR-Codes** (auch "EPC QR" genannt) sind der **EU-Standard** für Überweisungen per QR-Code.

Wie funktioniert's?

1. **QR-Code erstellen** mit:
- Empfängername
- IBAN
- Betrag (optional)
- Verwendungszweck (optional)

2. **Kunde scannt** mit Banking-App

3. **Überweisung ist vorausgefüllt!**
- Name ✅
- IBAN ✅
- Betrag ✅
- Verwendungszweck ✅

4. **Kunde muss nur noch bestätigen**

Vorteile:

- ✅ **Keine Tippfehler** bei IBAN
- ✅ **Schneller** als manuell
- ✅ **Weniger Fehler**
- ✅ **Professionell**

Wo nutzen?

- 💰 **Rechnungen** (PDF mit QR)
- 🛒 **Geschäfte** (an der Kasse)
- 📄 **Mahnungen**
- 🎫 **Tickets & Events**
- 🏪 **Marktstände**

Welche Apps unterstützen das?

**Alle deutschen Banking-Apps:**
- Sparkasse ✅
- Volksbanken ✅
- Deutsche Bank ✅
- Commerzbank ✅
- N26 ✅
- ING ✅
- etc.



🎨 Design-Anpassung

Farben:

**Standard:**
- QR-Code: Schwarz (000000)
- Hintergrund: Weiß (ffffff)

**Anpassbar:**
- Jede beliebige Farbe!
- Empfehlung: Dunkle Farben für QR, heller Hintergrund
- Kontrast wichtig für Scanbarkeit!

**Beispiele:**
- Blau: 0066cc
- Rot: cc0000
- Grün: 00cc00
- Lila: 6600cc

Logo:

**Empfohlene Eigenschaften:**
- Format: PNG (mit Transparenz)
- Größe: Quadratisch (z.B. 500x500px)
- Farbe: Einfarbig oder wenig Details
- Hintergrund: Transparent
- Platzierung: Automatisch mittig (20% der QR-Größe)

**Hinweis:** Logo wird mit weißem Rand platziert für bessere Scanbarkeit.

Größen:

- **300x300:** Klein (für Print)
- **400x400:** Standard
- **500x500:** Groß
- **1000x1000:** Sehr groß (für Poster)



🔧 Wie QR-Generierung funktioniert

Technischer Ablauf:

1. **Daten sammeln** (aus Formular)
2. **Format erstellen:**
- URL: `https://example.com`
- SEPA: EPC-Format (spezielle Struktur)
- WiFi: `WIFI:T:WPA;S:Name;P:Pass;;`
- vCard: `BEGIN:VCARD...END:VCARD`
3. **QR mit Google Charts API generieren**
4. **Farben anpassen** (Pixel-Manipulation)
5. **Logo hinzufügen** (falls hochgeladen)
6. **Als PNG speichern**
7. **In Datenbank eintragen**

Google Charts API:


https://chart.googleapis.com/chart?cht=qr&chs=400x400&chl=DATEN


**Kostenlos & Zuverlässig!**



💡 Anwendungsfälle

E-Commerce:


Produkt: Stuhl "Nordic Style"
QR-Typ: Produkt
URL: https://shop.de/stuhl-nordic-123
→ Kunde scannt, kommt direkt zur Produktseite


Restaurant:


Speisekarte-Download
QR-Typ: Download
URL: https://restaurant.de/speisekarte.pdf
→ Kunde scannt, PDF öffnet sich


Autor / Verlag:


Buch: "Mein Roman"
QR-Typ: Buch
URL: https://autor.de/buch-extras
→ Leser scannt, bekommt Zusatzinfos


Handwerker / Dienstleister:


Rechnung
QR-Typ: SEPA Zahlung
IBAN: DE89 3704 0044 0532 0130 00
Betrag: 450,00 EUR
Verwendungszweck: Rechnung 2024-123
→ Kunde scannt, zahlt in 10 Sekunden


Event / Konzert:


WiFi-Zugang für Gäste
QR-Typ: WiFi
SSID: EventWLAN
Passwort: Konzert2024
→ Gast scannt, ist verbunden




🐛 Troubleshooting

Problem: QR-Code wird nicht gescannt

**Lösung:**
- Kontrast erhöhen (dunkler QR, heller Hintergrund)
- Größe erhöhen (mindestens 300px)
- Logo kleiner machen oder entfernen
- Auf glattem Untergrund drucken

Problem: SEPA QR funktioniert nicht

**Lösung:**
- IBAN korrekt? (ohne Leerzeichen speichern)
- Betrag im richtigen Format? (mit Punkt, nicht Komma)
- Banking-App aktuell?

Problem: Logo zu groß

**Lösung:**
- Wird automatisch auf 20% skaliert
- Wenn QR nicht scannbar: Logo entfernen oder kleiner machen

Problem: Kann kein Logo hochladen

**Lösung:**
- Nur PNG oder JPG
- Max 2MB
- Verzeichnis `logos/` beschreibbar? (`chmod 755`)



📊 Statistiken & Tracking

Scan-Tracking:

**Aktuell:** Einfacher Zähler in DB

**Zukünftig möglich:**
- Redirect-URL für Tracking
- Scan-Zeitpunkt
- Gerät-Info
- Standort (mit Erlaubnis)

Implementierung (optional):

php
// scan.php?code=abc123
$stmt = db()->prepare("UPDATE qr_codes SET scan_count = scan_count + 1 WHERE short_code = ?");
$stmt->execute([$_GET['code']]);
redirect('actual-url');




🔒 Sicherheit

Implementiert:

- ✅ **Password Hashing** (PHP password_hash)
- ✅ **SQL Injection Schutz** (PDO Prepared Statements)
- ✅ **XSS Schutz** (htmlspecialchars)
- ✅ **Session Security** (regenerate_id)
- ✅ **Foreign Keys** (CASCADE delete)

Empfehlungen:

1. **HTTPS verwenden** (Let's Encrypt kostenlos)
2. **Starke Passwörter** erzwingen
3. **Regelmäßige Backups**
4. **Upload-Limits** (Datei-Größe)



🚀 Erweiterungen (Zukünftig)

**Mögliche Features:**
- [ ] Scan-Tracking (Zeitpunkt, Gerät, Standort)
- [ ] QR-Templates (vordefinierte Designs)
- [ ] Batch-Generierung (CSV-Import)
- [ ] API für Entwickler
- [ ] QR-Code bearbeiten
- [ ] Ablaufdatum für QR-Codes
- [ ] Analytics-Dashboard
- [ ] Team-Accounts (mehrere User)
- [ ] White-Label (eigenes Branding)



📝 SEPA EPC QR-Code Format

Technische Details:


Zeile 1: BCD (Service Tag)
Zeile 2: 002 (Version)
Zeile 3: 1 (Character Set: UTF-8)
Zeile 4: SCT (Identification: SEPA Credit Transfer)
Zeile 5: [leer] (BIC - optional)
Zeile 6: Max Mustermann (Name)
Zeile 7: DE89370400440532013000 (IBAN)
Zeile 8: EUR450.00 (Amount)
Zeile 9: [leer] (Purpose - optional)
Zeile 10: [leer] (Structured Reference - optional)
Zeile 11: Rechnung 123 (Unstructured Remittance)
Zeile 12: [leer] (Beneficiary to Originator - optional)


**Wichtig:**
- Jede Zeile mit `\n` getrennt
- Betrag mit Punkt, nicht Komma
- IBAN ohne Leerzeichen



🎯 Best Practices

QR-Code Design:

1. **Hoher Kontrast:** Schwarz auf Weiß ist am besten
2. **Nicht zu klein:** Mindestens 300x300px
3. **Sauber drucken:** Keine Verzerrung
4. **Logo optional:** Nur wenn QR noch scannbar

SEPA QR:

1. **Betrag angeben:** Kunde muss nichts tippen
2. **Verwendungszweck:** Eindeutige Referenz (Rechnung 123)
3. **Testen:** Vor Druck mit eigener Banking-App testen

Allgemein:

1. **Titel vergeben:** Für bessere Organisation
2. **Regelmäßig prüfen:** QR-Codes auf Funktion testen
3. **Statistiken nutzen:** Scan-Zahlen auswerten



📄 Rechtliches

DSGVO:

**Gespeicherte Daten:**
- Username, E-Mail, Passwort (gehasht)
- QR-Code Daten (URLs, IBAN, etc.)
- Scan-Statistiken

**Rechte:**
- Account löschen (TODO: implementieren)
- Daten exportieren (TODO: implementieren)

SEPA QR:

- **Kein Payment-Provider:** Portal generiert nur QR-Code
- **Keine Zahlung:** Überweisung erfolgt über Bank
- **Keine Haftung:** User verantwortlich für korrekte IBAN



📞 Support

**Bei Problemen:**
1. README durchlesen
2. Troubleshooting checken
3. Browser-Konsole prüfen (F12)
4. PHP Error-Log checken



📝 Changelog

Version 1.0 (Aktuell)

**Features:**
- ✅ User-System (Login, Register)
- ✅ 12 QR-Typen
- ✅ SEPA EPC QR-Codes (EU-Standard!)
- ✅ PayPal QR-Codes
- ✅ Individuelle Farben
- ✅ Logo-Upload
- ✅ Dashboard mit Statistiken
- ✅ Download als PNG
- ✅ Datenbank-Speicherung

**Technisch:**
- ✅ PHP 8.0+ kompatibel
- ✅ Moderne UI (Gradient-Design)
- ✅ Responsive (Mobile)
- ✅ Google Charts API
- ✅ GD Library (Bildbearbeitung)



🎉 Viel Erfolg mit deinem QR Portal!

**Version:** 1.0
**Stand:** Januar 2026
**Sprache:** Deutsch 🇩🇪

**PRODUKTIONSBEREIT!** 🚀



🆘 Quick-Start

bash
1. Dateien hochladen
2. install.php aufrufen
3. DB-Daten eingeben
4. Installieren
5. Registrieren
6. QR-Code erstellen!

SEPA QR in 60 Sekunden:
1. Login
2. "+ QR erstellen"
3. Typ: "SEPA Zahlung"
4. IBAN eingeben
5. Betrag: 100,00 EUR
6. Generieren
7. Download
8. Ausdrucken auf Rechnung
9. Kunde scannt & zahlt!


**12 QR-TYPEN - SEPA ZAHLUNG - LOGO - FARBEN - PROFESSIONELL!** 💪

🔗 Unsere Partner

Scriptworld.de Zahnzusatzversicherung_Fullsize