Come funziona la digital card
Quando qualcuno apre la pagina principale (index.php), il sistema:
- Carica i dati — prima dal database SQLite (se hai salvato modifiche dall'admin), poi da
config/data.phpcome fallback; - Registra automaticamente la visita (IP, browser, dispositivo, referrer), filtrando bot e crawler;
- Genera la pagina con tutti i link di contatto, la sezione azienda espandibile e il blocco sede legale.
Aggiornare i dati (tab Dati Personali)
Hai due modi:
- Dal pannello admin (tab "Dati Personali") → le modifiche vengono salvate nel database. Sono attive immediatamente senza accesso FTP.
- Direttamente da file → modifica
config/data.php. Se non hai mai salvato dall'admin, il sito usa sempre questo file.
Il pulsante "Ripristina default" cancella la configurazione salvata nel DB e torna a usare data.php. Utile se qualcosa va storto.
La tab "Dati Personali" è divisa in due colonne: a sinistra i dati della persona (nome, ruolo, azienda), a destra i dati aziendali (nome legale, descrizione, sede legale). I link di contatto sono gestiti nella stessa tab con pulsanti aggiungi/rimuovi/riordina.
Editor di testo ricco (Quill)
I campi Descrizione azienda e Sede Legale usano un editor WYSIWYG (Quill) che permette:
- Grassetto, corsivo, sottolineato, barrato
- Allineamento — sinistra, centro, destra, giustificato
- Liste — puntate e numerate (solo Descrizione)
- Titoli — H2 e H3 (solo Descrizione)
Il contenuto viene salvato come HTML e visualizzato fedelmente nel frontend. Il testo salvato con versioni precedenti (plain-text) viene convertito automaticamente al primo caricamento.
Salva Contatto (vCard)
Il pulsante "Salva Contatto" genera un file .vcf compatibile con iOS, Android e Outlook. La configurazione è nella tab "Configura vCard" del pannello admin, separata dai pulsanti di contatto visibili sul biglietto.
La vCard include:
- Nome, cognome, organizzazione, titolo professionale;
- Email, telefono mobile;
- WhatsApp — aggiunto come URL cliccabile con etichetta personalizzata (compatibile iOS Contatti);
- LinkedIn — aggiunto come profilo social e URL;
- Foto profilo — se presente
assets/img/photo.jpg, viene ridimensionata a 128×128 px e incorporata nel file .vcf in formato Base64; - Indirizzo, sito web, note.
Condividi contatto (QR Code)
Il pulsante "Condividi contatto" apre la pagina qr.php che mostra il QR code del biglietto con la foto profilo sovrapposta al centro.
Da questa pagina puoi condividere il contatto in più modi:
- Condividi (nativo) — usa il menu nativo del sistema operativo (iOS/Android); se il dispositivo lo supporta invia direttamente il file .vcf;
- WhatsApp — apre WhatsApp con un messaggio precompilato con il link;
- Telegram — apre Telegram con il link;
- Copia link — copia l'URL del biglietto negli appunti.
Blocco Sede Legale
Il blocco Sede Legale è sempre visibile in fondo alla card, separato dalla sezione azienda espandibile. Contiene le informazioni legali (ragione sociale, indirizzo, P.IVA, SDI).
Si gestisce dal campo "Sede Legale" nella tab Dati Personali. Se lasci il campo vuoto, il blocco non compare nel frontend.
Dashboard e analytics visite
La tab Dashboard mostra statistiche dettagliate sulle visite:
- Totale visite e visite negli ultimi 7/30 giorni;
- Dispositivi — ripartizione tra Desktop, Mobile e Tablet;
- Origine visite — Diretto, Google, Social, WhatsApp/Telegram, Altri;
- Ultime visite — elenco con IP, dispositivo, origine e timestamp.
I bot e crawler noti (Googlebot, Bingbot, ecc.) vengono filtrati automaticamente. Gli IP locali (127.x, 192.168.x, 10.x) non vengono conteggiati.
Dalla tab Contatore puoi esportare tutte le visite come CSV per analisi in Excel, e azzerare il contatore (operazione irreversibile).
Struttura dei file
webroot/ ├──index.php← pagina pubblica (biglietto visita) ├──vcard.php← genera il file .vcf ├──qr.php← pagina QR code e condivisione ├── .htaccess ├── admin/ │ ├──index.php← pannello admin (4 tab) │ └──manuale.php← questa pagina ├── config/ │ └──data.php← dati predefiniti (fallback) ├── db/ │ └── card.db ← database SQLite (auto-generato) ├── inc/ │ ├── db.php ← helper database e configurazione │ └── tracker.php ← registrazione visite └── assets/ ├── css/style.css └── img/ ├──logo.png← logo azienda (PNG, ≥400px) └──photo.jpg← foto profilo (JPG, ≥200×200 px)
Sicurezza
- Il pannello admin è protetto da password con hash bcrypt;
- Le cartelle
db/,inc/econfig/sono bloccate via.htaccess— non accessibili via browser; - Cambia la password periodicamente dalla tab "Contatore";
- Il link admin nel footer della card è volutamente quasi invisibile (testo color trasparente).
Changelog
- v0.15 alpha — 2026-04-24 — Editor Quill per descrizione e sede legale (grassetto, allineamento, liste); pulizia DB campi obsoleti; tab vCard dedicata; QR con foto e pulsanti condivisione mobile; analytics dispositivi e origini.
- v0.13 alpha — 2026-04-23 — Tema chiaro, LinkedIn, separatore contatti, anteprima live dati, filtro IP locali, footer versione su tutte le pagine.
- v0.12 alpha — 2026-04-23 — Prima versione funzionante completa: biglietto visita, pannello admin, tracker visite SQLite, generatore vCard, manuale integrato.