Settings page redirects to options.php when i save

I am writing the code for my options page in my wordpress theme. It was working for awhile and the next time i checked, it couldnt save. When i hit save, it redirects to options.php. When i remove the code for the social options it still doesnt work and yet it was working before i included that code. What could be the problem
here is the code

[code]<?php
/**

  • This function introduces a single theme menu option into the WordPress ‘Appearance’
  • menu.
    */

function blueray_theme_menu() {

add_theme_page(
    'Blue Ray Theme',            // The title to be displayed in the browser window for this page.
    'Blue Ray Theme',            // The text to be displayed for this menu item
    'administrator',            // Which type of users can see this menu item
    'blueray_theme_menu',    // The unique ID - that is, the slug - for this menu item
    'blueray_theme_renderpage'     // The name of the function to call when rendering the page for this menu
);

} // end blueray_theme_menu
add_action(‘admin_menu’, ‘blueray_theme_menu’);

/**

  • Renders a simple page to display for the theme menu defined above.
    */
    function blueray_theme_renderpage() {

    ?>

     <!-- Add the icon to the page -->
     <div id="icon-themes" class="icon32"></div>
     <h2>Blue Ray Theme Options</h2>
    
     <!-- Make a call to the WordPress function for rendering errors when settings are saved. -->
     <?php settings_errors(); ?>
    
<?php $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'display_options';?>

Display Options Social Options

    <!-- Create the form that will be used to render our options -->
   <form method="post" action="options.php">
<?php
     
    if( $active_tab == 'display_options' ) {
        settings_fields( 'blueray_theme_display_options_page' );
        do_settings_sections( 'blueray_theme_display_options_page' );
    } else {
        settings_fields( 'blueray_theme_social_options_page' );
        do_settings_sections( 'blueray_theme_social_options_page' );
    } // end if/else
     
    submit_button();
     
?>
</div><!-- /.wrap -->
<?php

} // end blueray_theme_renderpage

function blueray_initialize_theme_options() {

if( false == get_option( 'blueray_theme_display_options' ) ) { 
add_option( 'blueray_theme_display_options' );

} // end if

// First, we register a section. This is necessary since all future options must belong to a

add_settings_section(
‘general_settings_section’, // ID used to identify this section and with which to register options
‘Display Options’, // Title to be displayed on the administration page
‘blueray_general_options_callback’, // Callback used to render the description of the section
‘blueray_theme_display_options_page’ // Page on which to add this section of options
);

// Next, we'll introduce the fields for toggling the visibility of content elements.

add_settings_field(
‘firstareatitle’, // ID used to identify the field throughout the theme
‘First Area Title’, // The label to the left of the option interface element
‘blueray_firstareatitle_callback’, // The name of the function responsible for rendering the option interface
‘blueray_theme_display_options_page’, // The page on which this option will be displayed
‘general_settings_section’, // The name of the section to which this field belongs
array( // The array of arguments to pass to the callback. In this case, just a description.
‘First Area Title:’
)
);

add_settings_field(
‘firstareatext’,
‘First Area Text’,
‘blueray_firstareatext_callback’,
‘blueray_theme_display_options_page’,
‘general_settings_section’,
array(
‘First Area Text:’
)
);

add_settings_field(
‘firstarealink’,
‘First Area Link’,
‘blueray_firstarealink_callback’,
‘blueray_theme_display_options_page’,
‘general_settings_section’,
array(
‘First Area Link:’
)
);

// Finally, we register the fields with WordPress

register_setting(
‘blueray_theme_display_options_page’,
‘blueray_theme_display_options_page’
);

} // end blueray_initialize_theme_options
add_action(‘admin_init’, ‘blueray_initialize_theme_options’);

/* ------------------------------------------------------------------------ *

  • Section Callbacks
  • ------------------------------------------------------------------------ */

function blueray_general_options_callback() {
echo ‘

Set up the front page options

’;
} // end sandbox_general_options_callback

/* ------------------------------------------------------------------------ *

  • Field Callbacks
  • ------------------------------------------------------------------------ */

function blueray_firstareatitle_callback($args) {

// First, we read the options collection
$options = get_option(‘blueray_theme_display_options_page’);

// Next, we update the name attribute to access this element's ID in the context of the display options array
// We also access the show_header element of the options collection in the call to the checked() helper function
$html = '<input type="checkbox" id="firstareatitle" name="blueray_theme_display_options_page[firstareatitle]" value="1" ' . checked(1, $options['firstareatitle'], false) . '/>';
 
// Here, we'll take the first argument of the array and add it to a label next to the checkbox
$html .= '<label for="firstareatitle"> '  . $args[0] . '</label>';
 
echo $html;

} // end blueray_toggle_header_callback

function blueray_firstareatext_callback($args) {

$options = get_option(‘blueray_theme_display_options_page’);

// Next, we update the name attribute to access this element's ID in the context of the display options array
// We also access the show_header element of the options collection in the call to the checked() helper function
$html = '<input type="checkbox" id="firstareatext" name="blueray_theme_display_options_page[firstareatext]" value="1" ' . checked(1, $options['firstareatext'], false) . '/>';
 
// Here, we'll take the first argument of the array and add it to a label next to the checkbox
$html .= '<label for="firstareatext"> '  . $args[0] . '</label>';
 
echo $html;

} // end blueray_toggle_content_callback

function blueray_firstarealink_callback($args) {

 $options = get_option('blueray_theme_display_options_page');
 
// Next, we update the name attribute to access this element's ID in the context of the display options array
// We also access the show_header element of the options collection in the call to the checked() helper function
$html = '<input type="checkbox" id="firstarealink" name="blueray_theme_display_options_page[firstarealink]" value="1" ' . checked(1, $options['firstarealink'], false) . '/>';
 
// Here, we'll take the first argument of the array and add it to a label next to the checkbox
$html .= '<label for="firstarealink"> '  . $args[0] . '</label>';
 
echo $html;

} // end blueray_toggle_footer_callback

/**

  • Initializes the theme’s social options by registering the Sections,

  • Fields, and Settings.

  • This function is registered with the ‘admin_init’ hook.
    */
    function blueray_theme_intialize_social_options() {

    // If the social options don’t exist, create them.
    if( false == get_option( ‘blueray_theme_social_options’ ) ) {
    add_option( ‘blueray_theme_social_options’ );
    } // end if

add_settings_section(
‘social_settings_section’, // ID used to identify this section and with which to register options
‘Social Options’, // Title to be displayed on the administration page
‘blueray_social_options_callback’, // Callback used to render the description of the section
‘blueray_theme_social_options_page’ // Page on which to add this section of options
);

add_settings_field(
‘twitter’,
‘Twitter’,
‘blueray_twitter_callback’,
‘blueray_theme_social_options_page’,
‘social_settings_section’
);

add_settings_field(
‘facebook’,
‘Facebook’,
‘blueray_facebook_callback’,
‘blueray_theme_social_options_page’,
‘social_settings_section’
);

add_settings_field(
‘googleplus’,
‘Google+’,
‘blueray_googleplus_callback’,
‘blueray_theme_social_options_page’,
‘social_settings_section’
);

register_setting(
‘blueray_theme_social_options_page’,
‘blueray_theme_social_options_page’,
‘blueray_theme_sanitize_social_options_page’
);
} // end sandbox_theme_intialize_social_options
add_action( ‘admin_init’, ‘blueray_theme_intialize_social_options’ );

function blueray_social_options_callback() {
echo ‘

Provide the URL to the social networks you'd like to display.

’;
} // end blueray_social_options_callback

function blueray_twitter_callback() {

// First, we read the social options collection
$options = get_option( 'blueray_theme_social_options_page' );
 
// Next, we need to make sure the element is defined in the options. If not, we'll set an empty string.
$url = '';
if( isset( $options['twitter'] ) ) {
    $url = $options['twitter'];
} // end if
 
// Render the output
echo '<input type="text" id="twitter" name="blueray_theme_social_options_page[twitter]" value="' . $options['twitter'] . '" />';

} // end blueray_twitter_callback

function blueray_facebook_callback() {

$options = get_option( 'blueray_theme_social_options_page' );
 
$url = '';
if( isset( $options['facebook'] ) ) {
    $url = $options['facebook'];
} // end if
 
// Render the output
echo '<input type="text" id="facebook" name="blueray_theme_social_options_page[facebook]" value="' . $options['facebook'] . '" />';

} // end blueray_facebook_callback

function blueray_googleplus_callback() {

$options = get_option( 'blueray_theme_social_options_page' );
 
$url = '';
if( isset( $options['googleplus'] ) ) {
    $url = $options['googleplus'];
} // end if
 
// Render the output
echo '<input type="text" id="googleplus" name="blueray_theme_social_options_page[googleplus]" value="' . $options['googleplus'] . '" />';

} // end sandbox_googleplus_callback

function blueray_theme_sanitize_social_options_page( $input ) {

// Define the array for the updated options
$output = array();

// Loop through each of the options sanitizing the data
foreach( $input as $key => $val ) {
 
    if( isset ( $input[$key] ) ) {
        $output[$key] = esc_url_raw( strip_tags( stripslashes( $input[$key] ) ) );
    } // end if
 
} // end foreach
 
// Return the new collection
return apply_filters( 'blueray_theme_sanitize_social_options_page', $output, $input );

} // end blueray_theme_sanitize_social_options_page[/code]