Add var_dump($value);
at the beggining of this loop.
I’m pretty sure that not all options have id
property and it may be some other bug…
To get rid of these notices, your code should look like so:
foreach ($options as $value) {
if ( array_key_exists('id', $value) ) {
if (isset($_REQUEST[ $value['id'] ] ) ) { //#997
update_option( $value['id'], $_REQUEST[ $value['id'] ] );
} else {
delete_option( $value['id'] ); //#1000
}
}
}
PS. This notice has nothing to do with WordPress, so it’s off-topic.
PPS. Some time ago I’ve shown you how to debug such problems, have you even tried to solve it by yourself?