fix
This commit is contained in:
101
README.md
101
README.md
@@ -6,7 +6,9 @@ Piattaforma completa per vendere videolezioni e lezioni live di Pilates. Svilupp
|
||||
|
||||
### Area Pubblica
|
||||
- **Homepage** con lezioni demo gratuite
|
||||
- **Sistema di autenticazione** completo (login, registrazione, recupero password)
|
||||
- **Sistema di autenticazione** completo (login, registrazione)
|
||||
- **Recupero password** con token sicuro e scadenza temporale
|
||||
- **Reset password** via email con link univoco
|
||||
- **Visualizzazione lezioni** con integrazione video (YouTube, Vimeo, locale)
|
||||
- **Pagamento sicuro** tramite PayPal
|
||||
|
||||
@@ -17,20 +19,24 @@ Piattaforma completa per vendere videolezioni e lezioni live di Pilates. Svilupp
|
||||
- **Accesso illimitato** alle lezioni acquistate
|
||||
|
||||
### Area Amministratore
|
||||
- **Dashboard** con statistiche in tempo reale
|
||||
- **Gestione lezioni** (crea, modifica, elimina)
|
||||
- **Gestione utenti** (visualizza, blocca/sblocca)
|
||||
- **Storico acquisti** con dettagli pagamenti PayPal
|
||||
- **Report e analisi** vendite
|
||||
- **Dashboard** con statistiche in tempo reale (utenti, lezioni, acquisti, revenue)
|
||||
- **Gestione lezioni** (crea, modifica, elimina, attiva/disattiva)
|
||||
- **Modifica lezioni** con form completo per videolezioni e lezioni live
|
||||
- **Gestione utenti** (visualizza, blocca/sblocca, statistiche acquisti)
|
||||
- **Storico acquisti** con dettagli pagamenti PayPal e grafici
|
||||
- **Report e analisi** vendite con totali formattati
|
||||
|
||||
### Funzionalità Tecniche
|
||||
- ✅ **Sicurezza**: Password crittografate con bcrypt
|
||||
- ✅ **Sicurezza**: Password crittografate con bcrypt (PHP 8.1+ compatibile)
|
||||
- ✅ **Database**: MySQL con PDO per prevenire SQL injection
|
||||
- ✅ **Sessioni**: Gestione sicura con timeout automatico
|
||||
- ✅ **Responsive**: Design mobile-first
|
||||
- ✅ **Sessioni**: Gestione sicura con timeout automatico (30 minuti)
|
||||
- ✅ **Reset password**: Token sicuri con scadenza 1 ora
|
||||
- ✅ **Responsive**: Design mobile-first con CSS moderno
|
||||
- ✅ **Codice commentato**: Ogni funzione è documentata per facilità di manutenzione
|
||||
- ✅ **Log attività**: Tracciamento delle azioni importanti
|
||||
- ✅ **Soft delete**: I dati eliminati non sono rimossi definitivamente
|
||||
- ✅ **Gestione errori**: Controllo null values per compatibilità PHP 8.1+
|
||||
- ✅ **Flash messages**: Sistema di messaggi temporanei per feedback utente
|
||||
|
||||
---
|
||||
|
||||
@@ -56,25 +62,31 @@ C:\xampp\htdocs\pilates-platform\
|
||||
1. Apri phpMyAdmin (o il tuo client MySQL preferito)
|
||||
2. Esegui lo script `database/schema.sql`
|
||||
3. Questo creerà:
|
||||
- Il database `pilatesplatform`
|
||||
- Tutte le tabelle necessarie
|
||||
- Il database `pilates_platform` (con underscore, non trattino!)
|
||||
- Tutte le tabelle necessarie (users, lessons, purchases, activity_log)
|
||||
- Un utente amministratore di default
|
||||
- Alcune lezioni demo di esempio
|
||||
- Campi per reset password (reset_token, reset_expires)
|
||||
|
||||
**Credenziali Admin di Default:**
|
||||
- Email: `admin@pilatesstudio.com`
|
||||
- Password: `admin123`
|
||||
- ⚠️ **IMPORTANTE**: Cambia questa password subito dopo il primo accesso!
|
||||
|
||||
**Se hai problemi con la password admin:**
|
||||
1. Esegui lo script `database/reset_admin_password.sql` in phpMyAdmin
|
||||
2. Oppure usa `test_password.php` per verificare l'hash della password
|
||||
3. La password verrà reimpostata a `admin123`
|
||||
|
||||
### Passo 3: Configura l'Applicazione
|
||||
Apri il file `includes/config.php` e modifica:
|
||||
|
||||
#### Database
|
||||
```php
|
||||
define('DB_HOST', 'localhost'); // Host del database
|
||||
define('DB_NAME', 'pilatesplatform'); // Nome database
|
||||
define('DB_USER', 'root'); // Username (es: root per localhost)
|
||||
define('DB_PASS', ''); // Password database
|
||||
define('DB_HOST', 'localhost'); // Host del database
|
||||
define('DB_NAME', 'pilates_platform'); // Nome database (usa underscore!)
|
||||
define('DB_USER', 'root'); // Username (es: root per localhost)
|
||||
define('DB_PASS', ''); // Password database
|
||||
```
|
||||
|
||||
#### Sito
|
||||
@@ -209,6 +221,14 @@ La **Dashboard** mostra:
|
||||
- Telefono
|
||||
- Password
|
||||
|
||||
#### Recuperare la Password
|
||||
1. Vai su `login.php`
|
||||
2. Clicca su "Password dimenticata?"
|
||||
3. Inserisci la tua email
|
||||
4. Riceverai un link valido per 1 ora
|
||||
5. Clicca sul link e imposta una nuova password
|
||||
6. Accedi con le nuove credenziali
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Personalizzazione
|
||||
@@ -329,7 +349,8 @@ Crea `.htaccess` nella cartella `includes/`:
|
||||
### Errore: "Errore connessione database"
|
||||
- Verifica che MySQL sia avviato
|
||||
- Controlla credenziali in `config.php`
|
||||
- Assicurati che il database esista
|
||||
- Assicurati che il database `pilates_platform` esista (NON pilates-platform)
|
||||
- MySQL non accetta trattini nei nomi database, usa underscore
|
||||
|
||||
### Le email non vengono inviate
|
||||
- Configura SMTP in `config.php`
|
||||
@@ -350,6 +371,18 @@ Crea `.htaccess` nella cartella `includes/`:
|
||||
- Attiva `DEBUG_MODE` in `config.php`
|
||||
- Controlla log errori PHP
|
||||
- Verifica permessi file (644) e cartelle (755)
|
||||
- Controlla percorsi `require_once` nei file (devono essere relativi corretti)
|
||||
|
||||
### Errore "Deprecated: Passing null to parameter"
|
||||
- Questo è un warning di PHP 8.1+
|
||||
- La piattaforma è già aggiornata per gestire valori null
|
||||
- Se vedi ancora warning, verifica che tutti i file siano aggiornati
|
||||
|
||||
### Reset Password non funziona
|
||||
- Verifica che le email vengano inviate correttamente
|
||||
- Configura SMTP in `config.php` se `mail()` non funziona
|
||||
- Il token scade dopo 1 ora per sicurezza
|
||||
- Controlla che la tabella `users` abbia i campi `reset_token` e `reset_expires`
|
||||
|
||||
---
|
||||
|
||||
@@ -359,12 +392,12 @@ Crea `.htaccess` nella cartella `includes/`:
|
||||
pilates-platform/
|
||||
│
|
||||
├── admin/ # Area amministratore
|
||||
│ ├── dashboard.php # Dashboard admin
|
||||
│ ├── lessons.php # Gestione lezioni
|
||||
│ ├── lesson_create.php # Crea lezione
|
||||
│ ├── lesson_edit.php # Modifica lezione (da creare se serve)
|
||||
│ ├── dashboard.php # Dashboard admin con statistiche
|
||||
│ ├── lessons.php # Gestione lezioni (lista, elimina)
|
||||
│ ├── lesson_create.php # Crea nuova lezione
|
||||
│ ├── lesson_edit.php # Modifica lezione esistente
|
||||
│ ├── users.php # Gestione utenti
|
||||
│ └── purchases.php # Storico acquisti
|
||||
│ └── purchases.php # Storico acquisti e revenue
|
||||
│
|
||||
├── assets/ # Risorse statiche
|
||||
│ ├── css/
|
||||
@@ -373,7 +406,8 @@ pilates-platform/
|
||||
│ └── main.js # JavaScript
|
||||
│
|
||||
├── database/
|
||||
│ └── schema.sql # Script creazione database
|
||||
│ ├── schema.sql # Script creazione database
|
||||
│ └── reset_admin_password.sql # Reset password admin
|
||||
│
|
||||
├── includes/ # File PHP condivisi
|
||||
│ ├── config.php # Configurazione
|
||||
@@ -389,13 +423,14 @@ pilates-platform/
|
||||
│ ├── catalog.php # Catalogo lezioni
|
||||
│ └── profile.php # Profilo utente
|
||||
│
|
||||
├── index.php # Homepage
|
||||
├── login.php # Login
|
||||
├── register.php # Registrazione
|
||||
├── forgot_password.php # Recupero password (step 1)
|
||||
├── reset_password.php # Reset password (step 2)
|
||||
├── lesson.php # Visualizza lezione
|
||||
├── index.php # Homepage pubblica
|
||||
├── login.php # Login utenti e admin
|
||||
├── register.php # Registrazione nuovi utenti
|
||||
├── forgot_password.php # Recupero password (richiesta token)
|
||||
├── reset_password.php # Reset password (con token)
|
||||
├── lesson.php # Visualizza lezione e acquisto
|
||||
├── process_payment.php # Elabora pagamento PayPal
|
||||
├── test_password.php # Utility test hash password (debug)
|
||||
└── README.md # Questo file
|
||||
```
|
||||
|
||||
@@ -467,15 +502,19 @@ Questo progetto è stato creato come piattaforma custom. Sei libero di modificar
|
||||
## ✅ Checklist Prossimi Passi
|
||||
|
||||
Dopo l'installazione:
|
||||
- [ ] Cambia password admin
|
||||
- [ ] Cambia password admin (profilo o reset_admin_password.sql)
|
||||
- [ ] Configura SMTP per invio email
|
||||
- [ ] Testa recupero password
|
||||
- [ ] Configura PayPal Sandbox
|
||||
- [ ] Carica almeno 3 lezioni demo
|
||||
- [ ] Testa registrazione utente
|
||||
- [ ] Testa acquisto lezione (in sandbox)
|
||||
- [ ] Testa modifica lezioni esistenti
|
||||
- [ ] Personalizza colori e logo
|
||||
- [ ] Configura backup automatici
|
||||
- [ ] Configura backup automatici database
|
||||
- [ ] Passa a produzione PayPal
|
||||
- [ ] Attiva HTTPS
|
||||
- [ ] Attiva HTTPS (certificato SSL)
|
||||
- [ ] Testa tutti i flussi su produzione
|
||||
- [ ] Lancia! 🚀
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user