diff --git a/assets/Gener_Z.sql b/assets/Gener_Z.sql index a4804e4..6deac24 100644 --- a/assets/Gener_Z.sql +++ b/assets/Gener_Z.sql @@ -36,7 +36,8 @@ CREATE TABLE Utenti( nome VARCHAR(30), cognome VARCHAR(18), email VARCHAR(255) UNIQUE NOT NULL, - password VARCHAR(255) NOT NULL + password VARCHAR(255) NOT NULL, + ruolo VARCHAR(16) DEFAULT 'utente' ); -- 3. INSERIMENTO DATI (INSERT INTO) @@ -78,6 +79,6 @@ INSERT INTO Statistiche_Social (id_fascia, piattaforma, minuti_medi_giornalieri, -- Login utente esempio -- Email: jeevacation@gmail.com -- Password: changeme -INSERT INTO Utenti(nome,cognome,email,password) VALUES -('Jeffrey', 'Epstein', 'jeevacation@gmail.com', '$2y$10$1ZILQ71xxMjaAxDs2A6/Iut8UJfBPEGkeEuZgoIkVDapbNYUACxtW'), -('Andrea', 'Fiorencis', 'andrea@fiorencis.eu','$2y$10$y7fs8u4UOFJW5ds/dO84KumTxG2kh4jCubb1W0mAHzgmBZKRqA8Va'); \ No newline at end of file +INSERT INTO Utenti(nome,cognome,email,password,ruolo) VALUES +('Jeffrey', 'Epstein', 'jeevacation@gmail.com', '$2y$10$1ZILQ71xxMjaAxDs2A6/Iut8UJfBPEGkeEuZgoIkVDapbNYUACxtW', 'gestore'), +('Andrea', 'Fiorencis', 'andrea@fiorencis.eu','$2y$10$y7fs8u4UOFJW5ds/dO84KumTxG2kh4jCubb1W0mAHzgmBZKRqA8Va', 'gestore'); \ No newline at end of file diff --git a/db_conf.php b/db_conf.php new file mode 100644 index 0000000..3b9b3de --- /dev/null +++ b/db_conf.php @@ -0,0 +1,14 @@ +connect_error) { + die("Connessione fallita: " . $conn->connect_error); +} +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..d65491e --- /dev/null +++ b/index.php @@ -0,0 +1,56 @@ + +query($sql); + +// Interruzione in caso di errore nella richiesta +if ($resultDispositivi === false){ + die("Errore nella query: " . $conn->error); +} +?> + + +
+ + +| Fascia d'Età | +Ore Totali Giornaliere | +
|---|---|
| + | ore | +
Accedi o Registrati per visualizzare le statistiche.
+ + + \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..255845a --- /dev/null +++ b/login.php @@ -0,0 +1,64 @@ + + + + + +Registrazione avvenuta con successo! Accedi
"; + } + else{ + echo "Errore: " . $conn->error; + } + } + } + ?> + + + + diff --git a/style.css b/style.css new file mode 100644 index 0000000..3e06d02 --- /dev/null +++ b/style.css @@ -0,0 +1,208 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); + color: #e0e0e0; + line-height: 1.6; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 20px; +} + +/* Typography */ +h1, h2 { + color: #00d4ff; + margin-bottom: 20px; + text-align: center; + /* Opzionale: aggiunge un leggero effetto di glow alle intestazioni */ + /* text-shadow: 0 0 10px rgba(0, 212, 255, 0.5); */ +} + +h1 { + font-size: 2.5rem; + margin-bottom: 10px; +} + +h2 { + font-size: 2rem; + margin-bottom: 5px; +} + +p { + margin-bottom: 20px; + text-align: center; +} + +/* Links */ +a { + color: #00d4ff; + text-decoration: none; + transition: color 0.3s ease; +} + +a:hover { + color: #0099cc; + text-decoration: underline; +} + +/* Forms */ +form { + background: rgba(255, 255, 255, 0.05); + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 15px; + padding: 40px; + width: 100%; + max-width: 400px; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); + animation: fadeIn 0.5s ease-in-out; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(-20px); } + to { opacity: 1; transform: translateY(0); } +} + +label { + display: block; + margin-bottom: 8px; + font-weight: 600; + color: #b0b0b0; +} + +input[type="text"], +input[type="email"], +input[type="password"] { + width: 100%; + padding: 12px 15px; + margin-bottom: 20px; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 8px; + background: rgba(255, 255, 255, 0.1); + color: #e0e0e0; + font-size: 16px; + transition: all 0.3s ease; +} + +input[type="text"]:focus, +input[type="email"]:focus, +input[type="password"]:focus { + outline: none; + border-color: #00d4ff; + box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.2); + background: rgba(255, 255, 255, 0.15); +} + +input[type="submit"] { + width: 100%; + padding: 12px; + background: linear-gradient(45deg, #00d4ff, #0099cc); + color: white; + border: none; + border-radius: 8px; + font-size: 16px; + font-weight: 600; + cursor: pointer; + transition: all 0.3s ease; + text-transform: uppercase; + letter-spacing: 1px; +} + +input[type="submit"]:hover { + background: linear-gradient(45deg, #0099cc, #0077aa); + transform: translateY(-2px); + box-shadow: 0 4px 15px rgba(0, 212, 255, 0.3); +} + +/* Error Messages */ +p[style*="color: red"] { + background: rgba(255, 0, 0, 0.1); + border: 1px solid rgba(255, 0, 0, 0.3); + border-radius: 5px; + padding: 10px; + margin-bottom: 20px; + color: #ff6b6b !important; +} + +p[style*="color: green"] { + background: rgba(0, 255, 0, 0.1); + border: 1px solid rgba(0, 255, 0, 0.3); + border-radius: 5px; + padding: 10px; + margin-bottom: 20px; + color: #51cf66 !important; +} + +/* Horizontal Rule */ +hr { + border: none; + height: 2px; + background: linear-gradient(90deg, transparent, #00d4ff, transparent); + margin: 30px 0; +} + +/* Table Styles */ +table { + width: 100%; + max-width: 800px; + margin: 20px auto; + border-collapse: collapse; + background: rgba(255, 255, 255, 0.05); + backdrop-filter: blur(10px); + border-radius: 10px; + overflow: hidden; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +thead { + background: linear-gradient(45deg, #00d4ff, #0099cc); +} + +th, td { + padding: 15px; + text-align: left; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +th { + font-weight: 600; + color: white; + text-transform: uppercase; + letter-spacing: 1px; +} + +td { + color: #e0e0e0; +} + +tbody tr:hover { + background: rgba(255, 255, 255, 0.05); +} + +/* Responsive Design */ +@media (max-width: 768px) { + body { + padding: 10px; + } + + form { + padding: 20px; + max-width: 100%; + } + + table { + font-size: 14px; + } + + th, td { + padding: 10px; + } +} \ No newline at end of file