Form Submission Simulation

This test simulates clicking "Save Snippet" on the Add New page.

'; $success = true; // Simulate form data $form_data = array( 'pc_hfap_title' => 'Simulated Form Test ' . date('H:i:s'), 'pc_hfap_location' => 'header', 'pc_hfap_code' => '', 'pc_hfap_nonce' => wp_create_nonce('pc_hfap_save_snippet'), 'submit_snippet' => '1' ); echo '
'; echo '

Simulated Form Data:

'; echo ''; echo '
'; // Step 1: Verify nonce echo '
'; echo '

Step 1: Verify Nonce

'; if (wp_verify_nonce($form_data['pc_hfap_nonce'], 'pc_hfap_save_snippet')) { echo '

✓ Nonce is VALID

'; } else { echo '

✗ Nonce verification FAILED

'; $success = false; } echo '
'; // Step 2: Check permissions echo '
'; echo '

Step 2: Check Permissions

'; if (current_user_can('manage_options')) { echo '

✓ User has manage_options capability

'; } else { echo '

⚠ User may not have admin permissions (normal if not logged in as admin)

'; } echo '
'; // Step 3: Validate fields echo '
'; echo '

Step 3: Validate Fields

'; $title = sanitize_text_field($form_data['pc_hfap_title']); $location = in_array($form_data['pc_hfap_location'], array('header', 'footer', 'body')) ? $form_data['pc_hfap_location'] : 'header'; $code = wp_unslash($form_data['pc_hfap_code']); echo '

Sanitized title: ' . htmlspecialchars($title) . '

'; echo '

Validated location: ' . $location . '

'; echo '

Unslashed code: ' . htmlspecialchars($code) . '

'; if (!empty($title) && !empty($location) && !empty($code)) { echo '

✓ All fields valid

'; } else { echo '

✗ Some fields are empty

'; $success = false; } echo '
'; // Step 4: Save to database echo '
'; echo '

Step 4: Save to Database

'; $data = array( 'title' => $title, 'location' => $location, 'code' => $code ); $snippet = new PC_HFAP_Snippet($data); $result = $snippet->save(); if ($result) { echo '

✓ SUCCESS! Snippet saved with ID: ' . $result . '

'; } else { echo '

✗ FAILED to save snippet

'; global $wpdb; echo '

WordPress error: ' . $wpdb->last_error . '

'; $success = false; } echo '
'; // Step 5: Verify in database echo '
'; echo '

Step 5: Verify in Database

'; if ($result) { $retrieved = PC_HFAP_Snippet::get_by_id($result); if ($retrieved) { echo '

✓ Retrieved from database:

'; echo '
';
        echo 'ID: ' . $retrieved->get_id() . "\n";
        echo 'Title: ' . $retrieved->get_title() . "\n";
        echo 'Location: ' . $retrieved->get_location() . "\n";
        echo 'Code: ' . $retrieved->get_code() . "\n";
        echo '
'; // Step 6: Delete test snippet echo '
'; echo '

Step 6: Clean Up - Delete Test Snippet

'; $delete_result = $retrieved->delete(); if ($delete_result) { echo '

✓ Test snippet deleted successfully

'; } else { echo '

✗ Failed to delete test snippet

'; } echo '
'; } else { echo '

✗ Could not retrieve saved snippet

'; $success = false; } } echo '
'; // Final result echo '
'; echo '
'; echo '

FINAL RESULT

'; if ($success) { echo '

✓ FORM SUBMISSION WOULD WORK!

'; echo '

The form submission process is working correctly.

'; } else { echo '

✗ ISSUES DETECTED

'; echo '

Check the errors above.

'; } echo '
'; // Test the actual admin form echo '

Test the Actual Form

'; echo '

Now try the actual admin form:

'; echo ''; echo '';