When using the codex's example, we are told to use the following:
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="new_option_name,some_other_option,option_etc" />
Unfortunately, while this is very useful, it does not allow you to retain the post data. This is because once you post the config options, it goes to a page that saves it or something, and then redirects back to the config page, resulting in the lost post data.
I need to do some extra manipulation on the post data, not just merely update it! And yes, I need to manipulate the data before I store it, because I cannot even plausibly retrieve the data otherwise (Don't ask why, this is a very complicated plugin... basically I'm shifting a theoretically unlimited amount of text fields into a serialized array).
I can't find documentation on the different actions. I found out about recover because of a google search. I don't even know what that does, because I tried to use recover instead of update in the action field, but this really screwed things up. When I submitted the form, I went to the main settings panel, but it was like displaying every option available in the database lolwtf!.
I have resorted to changing the FORMs action (and removing the wordpress action field shown above, don't confuse the two!):
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">;
Changed from:
<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>
`
Now obviously, I am not taking advantage of the nonce anymore (it's completely useless with the new method). Also, I am having to manually update all the other options post data that I do not have to do my manipulations on.
My questions: Does it matter if I use this method... is it still secure even if it isn't convenient to me? Is there another method that will allow me to retain the POST data on the submittal of a plugins options page?