BunkerBase 2.0

M0ICR HUNTER DASHBOARD

My Quick Stats: Monthly Points: 215      Annual Points: 1065     Lifetime points: 2065

[current_user_info]

Enter QSO details below

Quick Log – your last 10 UKBOTA QSO – to edit or see more use the button below

user_id Your Callsign You worked ID user_login at UKBOTA UKBOTA Reference on at UTC on in mode Info
3 M0ICR G1TEST 137731 M0ICR B/G-1000 ROC Post Wykeham 01/12/2025 12:00 40 SSB
3 M0ICR G1TEST 137732 M0ICR B/G-1102 Chain Home - Staxton Wold 01/12/2025 12:00 40 SSB
3 M0ICR G1TEST 137733 M0ICR B/G-1123 1950s War Room Tunbridge Wells - Region 12 01/12/2025 12:00 40 SSB
86 on5je M0RTU 137951 on5je B/G-1249 Airfield Battle HQ - Finmere 16/11/2025 17:09 40 SSB WAB SP63
86 on5je M0RTU 137952 on5je B/G-1576 RAF Finmere, WW2 bomb store bunker 16/11/2025 17:09 40 SSB WAB SP63
9 M8NAQ M0RTU 137947 M8NAQ B/G-1249 Airfield Battle HQ - Finmere 16/11/2025 17:04 40 SSB WAB SP63
9 M8NAQ M0RTU 137948 M8NAQ B/G-1576 RAF Finmere, WW2 bomb store bunker 16/11/2025 17:04 40 SSB WAB SP63
946 G8GNI M0RTU 137949 G8GNI B/G-1249 Airfield Battle HQ - Finmere 16/11/2025 17:04 40 SSB WAB SP63
946 G8GNI M0RTU 137950 G8GNI B/G-1576 RAF Finmere, WW2 bomb store bunker 16/11/2025 17:04 40 SSB WAB SP63
35 ON3DWG M0RTU 137945 ON3DWG B/G-1249 Airfield Battle HQ - Finmere 16/11/2025 16:57 40 SSB WAB SP63

## Project: hunterqso WordPress Form & Database Integration

### Table Structure (hunterqso)

| Column Name | SQL Type | SQL Notes | Form Behavior / Notes |
|—————–|—————|———————————————|————————————————————————-|
| user_id | int(11) | NOT NULL, Indexed | Hidden input, auto-filled with logged-in user ID |
| ID | bigint(20) | PRIMARY KEY, AUTO_INCREMENT, NOT NULL | Not shown in form, auto-incremented by DB |
| user_login | varchar(10) | NOT NULL | Hidden input, auto-filled with logged-in username |
| callsign_used | varchar(20) | NOT NULL | Visible, user input |
| bunker_ref | varchar(15) | NOT NULL, Indexed | Up to 5 fields on form; Ref1 required, others optional; 1 DB row per filled Ref; other fields same per row |
| date_worked | date | NOT NULL | Date picker, default = today, user editable, input format dd/mm/yyyy (convert to yyyy-mm-dd for DB) |
| time_worked | time | NULL (optional) | Default current time UTC; accepts HHMM or HH:MM input; store as HH:MM:SS |
| callsign_worked | char(20) | NOT NULL | Visible, user input |
| SigTX | varchar(5) | NULL (optional) | Default = 59, user can leave blank |
| SigRX | varchar(5) | NULL (optional) | Default = 59, user can leave blank |
| band | int(3) | NOT NULL | Dropdown, default 40m, accepts “40” or “40m” but store as “40m” |
| mode | varchar(5) | NOT NULL | Dropdown/text; LSB/USB converted to SSB; valid: CW, RTTY, SSTV, DIG, FM, AM, Other |

### Form Submission Logic Flow

1. User must be logged in.
2. Auto-fill hidden fields: user_id, user_login.
3. User fills visible fields, including up to 5 bunker_ref inputs.
4. Only bunker_ref_1 is mandatory; bunker_ref_2-5 are optional.
5. For each filled bunker_ref, create one record (row) in `hunterqso` with other fields duplicated.
6. Insert all records on form submit.
7. Show new records immediately in WordPress DataTable with SQL query.

### Current Focus

– Design form layout in Elementor Pro (multi-bunker_ref input).
– Implement PHP handler to insert multiple rows on submit.
– Sanitize & validate input, convert formats as needed.
– Integrate real-time refresh or AJAX for displaying new data.

### Questions / Next Steps

– Guidance on Elementor Pro form setup for multiple bunker_ref fields.
– Code samples for custom form handling and DB insert.
– Tips on date/time format conversion in PHP.

START

User visits form (must be logged in)

System auto-fills hidden fields:
– user_id (from WordPress login)
– user_login (text version)

User fills in visible form fields:
– callsign_used (required)
– bunker_ref_1 (required)
– bunker_ref_2–5 (optional)
– date_worked (default = today, editable)
– time_worked (default = now UTC, editable)
– callsign_worked (required)
– SigTX / SigRX (optional, default = 59)
– band (dropdown, default = 40m, accepts 40 or 40m)
– mode (dropdown or text, normalize LSB/USB → SSB)


User clicks SUBMIT

System checks how many bunker_ref fields were filled

For EACH bunker_ref (up to 5):
– Create one row in hunterqso with:
→ Same values for all fields
→ Different bunker_ref per row
→ Auto-incremented ID


Insert rows into hunterqso table

(Optional) Page reloads or AJAX updates DataTable

New QSO(s) appear in real-time via SQL-driven display

END

You must be logged in to submit a QSO.

Translate »