My Quick Stats: Monthly Points: 215 Annual Points: 1065 Lifetime points: 2065
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 997 | MI3VMT | M1TEST | 140056 | MI3VMT | B/G-1025 | ROC Post Aldbrough | 25/12/2025 | 12:00 | 40 | SSB | |
| 187 | G0HCT | G0BON/P | 148408 | G0HCT | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:59 | 10 | SSB | WAB SU18 |
| 110 | G0GWY | G0BON/P | 148386 | G0GWY | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:15 | 40 | SSB | |
| 828 | 2E0VPX | G0BON/P | 148382 | 2E0VPX | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:11 | 40 | SSB | WAB SU18 |
| 559 | ON3YDM | G0BON/P | 148378 | ON3YDM | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:10 | 40 | SSB | WAB SU18 |
| 514 | OS8D | G0BON/P | 148379 | OS8D | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:10 | 40 | SSB | WAB SU18 |
| 1,071 | G0BON/p | G0BON/P | 148376 | M0LOB | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:09 | 40 | SSB | WAB SU18 |
| 697 | DL2EF | G0BON/P | 148377 | DL2EF | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:09 | 40 | SSB | WAB SU18 |
| 869 | M9YNT | G0BON/P | 148365 | M9YNT | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:08 | 40 | SSB | WAB SU18 |
| 195 | M9JPE | G0BON/P | 148380 | M9JPE | B/G-2197 | Mouldon Type 22 WW2 Pillbox | 07/12/2025 | 14:08 | 40 | SSB | WAB SU18 |
## 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.