commit 6c3e922080c7cc4ae21b2b109da6a693587e8bc8
Author: Cristian Gora
Date: Sun Apr 12 02:20:01 2026 +0200
Initial commit
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4f4773f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+config.php
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..26a491a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+# RFDB
+
+The Radio Frequency Data Base.
+
+## Quick start
+
+Create a database named `rfdb`, then load the database template `rfdb.sql`
+file into your database.
+
+Rename the `config.php.example` file to `config.php`, then edit it according
+to your database configuration.
diff --git a/config.php.example b/config.php.example
new file mode 100644
index 0000000..ac0fce2
--- /dev/null
+++ b/config.php.example
@@ -0,0 +1,13 @@
+ PDO::ERRMODE_EXCEPTION,
+ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+ PDO::ATTR_EMULATE_PREPARES => false
+]);
+
+?>
diff --git a/db.php b/db.php
new file mode 100644
index 0000000..b77ebf3
--- /dev/null
+++ b/db.php
@@ -0,0 +1,34 @@
+getMessage());
+ }
+
+ return $pdo;
+}
+
+function db_query(string $query, array $params = []): array
+{
+ $pdo = db_connect();
+
+ try {
+ $stmt = $pdo->prepare($query);
+ $stmt->execute($params);
+ return $stmt->fetchAll();
+ } catch (PDOException $e) {
+ exit("Errore connessione database: " . $e->getMessage());
+ }
+}
+
+?>
diff --git a/frequenze.php b/frequenze.php
new file mode 100644
index 0000000..9898e1a
--- /dev/null
+++ b/frequenze.php
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+ RFDB - Gestione
+
+
+
+
+
+
+
Aggiungi Nuova Frequenza
+
+
+
+ Elenco Frequenze Registrate
+
+
+
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..0f870ac
--- /dev/null
+++ b/index.php
@@ -0,0 +1,51 @@
+
+
+
+
+
+ RFDB - Login
+
+
+
+
+,--..Y
+\ /`. R.F.D.B. – Radio Frequency Data Base
+ A. \ Bassano del Grappa (VI)
+_/ """--'
+
+ $error"; ?>
+
+
+
diff --git a/rfdb.sql b/rfdb.sql
new file mode 100644
index 0000000..9a31834
--- /dev/null
+++ b/rfdb.sql
@@ -0,0 +1,241 @@
+/*M!999999\- enable the sandbox mode */
+-- MariaDB dump 10.19-12.2.2-MariaDB, for Linux (x86_64)
+--
+-- Host: localhost Database: rfdb
+-- ------------------------------------------------------
+-- Server version 12.2.2-MariaDB
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*M!100616 SET @OLD_NOTE_VERBOSITY=@@NOTE_VERBOSITY, NOTE_VERBOSITY=0 */;
+
+--
+-- Table structure for table `frequenze`
+--
+
+DROP TABLE IF EXISTS `frequenze`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `frequenze` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `frequenza` double DEFAULT NULL,
+ `modulazione` int(10) unsigned DEFAULT NULL,
+ `nome` varchar(100) DEFAULT NULL,
+ `descrizione` text DEFAULT NULL,
+ `organizzazione` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `frequenze_organizzazioni_FK` (`organizzazione`),
+ KEY `frequenze_modulazioni_FK` (`modulazione`),
+ CONSTRAINT `frequenze_organizzazioni_FK` FOREIGN KEY (`organizzazione`) REFERENCES `organizzazioni` (`id`)
+ CONSTRAINT `frequenze_modulazioni_FK` FOREIGN KEY (`modulazione`) REFERENCES `modulazioni` (`id`),
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `frequenze`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `frequenze` WRITE;
+/*!40000 ALTER TABLE `frequenze` DISABLE KEYS */;
+INSERT INTO `frequenze` VALUES
+(1,446.00625,2,'PMR CH1','',NULL),
+(2,446.01875,2,'PMR CH2','',NULL),
+(3,446.03125,2,'PMR CH3','',NULL);
+/*!40000 ALTER TABLE `frequenze` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `frequenze_utilizzatori`
+--
+
+DROP TABLE IF EXISTS `frequenze_utilizzatori`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `frequenze_utilizzatori` (
+ `frequenza` int(10) unsigned NOT NULL,
+ `utilizzatore` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`frequenza`,`utilizzatore`),
+ KEY `frequenze_utilizzatori_utilizzatori_FK` (`utilizzatore`),
+ CONSTRAINT `frequenze_utilizzatori_frequenze_FK` FOREIGN KEY (`frequenza`) REFERENCES `frequenze` (`id`),
+ CONSTRAINT `frequenze_utilizzatori_utilizzatori_FK` FOREIGN KEY (`utilizzatore`) REFERENCES `utilizzatori` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `frequenze_utilizzatori`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `frequenze_utilizzatori` WRITE;
+/*!40000 ALTER TABLE `frequenze_utilizzatori` DISABLE KEYS */;
+/*!40000 ALTER TABLE `frequenze_utilizzatori` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `modulazioni`
+--
+
+DROP TABLE IF EXISTS `modulazioni`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `modulazioni` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `nome` char(10) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `modulazioni`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `modulazioni` WRITE;
+/*!40000 ALTER TABLE `modulazioni` DISABLE KEYS */;
+INSERT INTO `modulazioni` VALUES
+(1,'WFM'),
+(2,'NFM'),
+(3,'DMR');
+/*!40000 ALTER TABLE `modulazioni` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `organizzazioni`
+--
+
+DROP TABLE IF EXISTS `organizzazioni`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `organizzazioni` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `nome` varchar(100) DEFAULT NULL,
+ `descrizione` text DEFAULT NULL,
+ `area` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `organizzazioni`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `organizzazioni` WRITE;
+/*!40000 ALTER TABLE `organizzazioni` DISABLE KEYS */;
+/*!40000 ALTER TABLE `organizzazioni` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `organizzazioni_utilizzatori`
+--
+
+DROP TABLE IF EXISTS `organizzazioni_utilizzatori`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `organizzazioni_utilizzatori` (
+ `organizzazione` int(10) unsigned NOT NULL,
+ `utilizzatore` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`organizzazione`,`utilizzatore`),
+ KEY `organizzazionei_utilizzatori_utilizzatori_FK` (`utilizzatore`),
+ CONSTRAINT `organizzazionei_utilizzatori_utilizzatori_FK` FOREIGN KEY (`utilizzatore`) REFERENCES `utilizzatori` (`id`),
+ CONSTRAINT `organizzazioni_utilizzatori_organizzazioni_FK` FOREIGN KEY (`organizzazione`) REFERENCES `organizzazioni` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `organizzazioni_utilizzatori`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `organizzazioni_utilizzatori` WRITE;
+/*!40000 ALTER TABLE `organizzazioni_utilizzatori` DISABLE KEYS */;
+/*!40000 ALTER TABLE `organizzazioni_utilizzatori` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `utenti`
+--
+
+DROP TABLE IF EXISTS `utenti`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `utenti` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `username` varchar(100) DEFAULT NULL,
+ `password` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `username` (`username`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `utenti`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `utenti` WRITE;
+/*!40000 ALTER TABLE `utenti` DISABLE KEYS */;
+INSERT INTO `utenti` VALUES
+(1,'admin','$2y$12$mWhaxVtCTMb2ozvglfDKLu8N3pqUcr57p3sFhG0PjpucsSB2EMmza');
+/*!40000 ALTER TABLE `utenti` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+
+--
+-- Table structure for table `utilizzatori`
+--
+
+DROP TABLE IF EXISTS `utilizzatori`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8mb4 */;
+CREATE TABLE `utilizzatori` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `nome` varchar(100) DEFAULT NULL,
+ `identificativo` varchar(100) DEFAULT NULL,
+ `nickname` varchar(100) DEFAULT NULL,
+ `note` text DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `utilizzatori`
+--
+
+SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;
+LOCK TABLES `utilizzatori` WRITE;
+/*!40000 ALTER TABLE `utilizzatori` DISABLE KEYS */;
+/*!40000 ALTER TABLE `utilizzatori` ENABLE KEYS */;
+UNLOCK TABLES;
+COMMIT;
+SET AUTOCOMMIT=@OLD_AUTOCOMMIT;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */;
+
+-- Dump completed on 2026-04-12 2:09:24
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..249fbb8
--- /dev/null
+++ b/style.css
@@ -0,0 +1,34 @@
+body {
+ font-family: monospace;
+ background: #f0f0f0;
+ padding: 20px;
+}
+
+table {
+ border-collapse: collapse;
+ width: 100%;
+ background: white;
+}
+
+th, td {
+ border: 1px solid black;
+ padding: 5px;
+ text-align: left;
+}
+
+th {
+ background: #ccc;
+}
+
+.form-box {
+ border: 2px solid black;
+ padding: 10px;
+ margin-bottom: 20px;
+ background: #e0e0e0;
+}
+
+nav {
+ margin-bottom: 20px;
+ border-bottom: 2px solid black;
+ padding-bottom: 10px;
+}