A-Z0-9-' ]*$/", $NCS_Callsign)) { $hasErrors = true; $NCS_CallsignErr = "Only letters and numbers allowed"; } } // Time fields validation foreach (['Net_OpeningTime', 'Net_ClosingTime'] as $timeField) { $value = test_input($_POST[$timeField] ?? ''); if (!empty($value) && !validateTime($value)) { $hasErrors = true; ${$timeField . 'Err'} = "Invalid time format"; } else { ${$timeField} = $value; } } // QNI/QTC validation foreach (['QNI', 'QTC'] as $numField) { $value = test_input($_POST[$numField] ?? '0'); if (!preg_match("/^[0-9]*$/", $value)) { $hasErrors = true; ${$numField . 'Err'} = "Only numbers allowed"; } else { ${$numField} = $value; } } // Text fields validation $textFields = [ 'Traffic_EmergencyOrPriority' => &$Traffic_EmergencyOrPriorityErr, 'Traffic_Formal' => &$Traffic_FormalErr, 'Traffic_Informal' => &$Traffic_InformalErr, 'Traffic_Announcements' => &$Traffic_AnnouncementsErr, 'CheckIns_Mobile' => &$CheckIns_MobileErr, 'CheckIns_Echolink' => &$CheckIns_EcholinkErr, 'CheckIns_Regular' => &$CheckIns_RegularErr ]; foreach ($textFields as $field => $errorVar) { $value = trim(stripslashes($_POST[$field] ?? '')); ${$field} = $value; if (!validateText($value)) { $errorVar = "Contains invalid characters"; $hasErrors = true; } else { ${$field} = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); } } // Database update if no errors if (!$hasErrors) { if ($conn && !$conn->connect_error) { $sql = "UPDATE ncs_info SET NetReport_Timestamp = ?, Net_Type = ?, NCS_Callsign = ?, Net_OpeningTime = ?, Net_ClosingTime = ?, QNI = ?, QTC = ?, Traffic_EmergencyOrPriority = ?, Traffic_Formal = ?, Traffic_Informal = ?, CheckIns_Mobile = ?, CheckIns_Echolink = ?, CheckIns_Regular = ?, Traffic_Announcements = ?, isComplete = TRUE WHERE ncs_id = ?"; $stmt = $conn->prepare($sql); if ($stmt) { // Remove colons from time fields $Net_OpeningTime = str_replace(':', '', $Net_OpeningTime); $Net_ClosingTime = str_replace(':', '', $Net_ClosingTime); $stmt->bind_param( "ssssssssssssssi", $NetReport_Timestamp, $Net_Type, $NCS_Callsign, $Net_OpeningTime, $Net_ClosingTime, $QNI, $QTC, $Traffic_EmergencyOrPriority, $Traffic_Formal, $Traffic_Informal, $CheckIns_Mobile, $CheckIns_Echolink, $CheckIns_Regular, $Traffic_Announcements, $ncs_id ); if ($stmt->execute()) { $isUpdateComplete = true; } else { $hasDBError = true; } $stmt->close(); } else { $hasDBError = true; } $conn->close(); } else { $hasDBError = true; } } } $page_title = "Edit Net Report - W5OBM Amateur Radio Club"; ?> 
W5OBM

Edit Net Report

Complete your weekly net report for

Olive Branch ARC Net Report

Net Date:

Basic Net Information