Custom Shortcodes Giving error on development site

Initialize the variables first. See code below:

function mbiz_tabbed_box( $atts, $content = null ) {
 extract( shortcode_atts( array(
  'tab1' => '',
  'tab2' => '',
  'tab3' => '',
  'tab4' => '',
  'tab5' => '',
  ), $atts ) );

$tab1_button = $tab2_button = $tab3_button = $tab4_button = $tab5_button = '';

if ($tab1) $tab1_button = '<li><a href="#" title="tab1">' . esc_attr($tab1) . '</a></li>';
if ($tab2) $tab2_button = '<li><a href="#" title="tab2">' . esc_attr($tab2) . '</a></li>';
if ($tab3) $tab3_button = '<li><a href="#" title="tab3">' . esc_attr($tab3) . '</a></li>';
if ($tab4) $tab4_button = '<li><a href="#" title="tab4">' . esc_attr($tab4) . '</a></li>';
if ($tab5) $tab5_button = '<li><a href="#" title="tab5">' . esc_attr($tab5) . '</a></li>';

return '<div class="tabs-style1"><div class="tabs-navigation"><ul class="tabs-nav">'
        . $tab1_button . $tab2_button . $tab3_button . $tab4_button . $tab5_button .
        '</ul></div><div class="tabs-content">' . do_shortcode($content) . '</div></div>';
}
add_shortcode('tabbed_box', 'mbiz_tabbed_box');

Another solution would be to build a string then return it, without using separate variables.

$out="<div class="tabs-style1"><div class="tabs-navigation"><ul class="tabs-nav">";
    if ($tab1) $out .= '<li>whatever</li>';
    if ($tab2) $out .= '<li>whatever</li>';
    if ($tab3) $out .= '<li>whatever</li>';
    if ($tab4) $out .= '<li>whatever</li>';
    if ($tab5) $out .= '<li>whatever</li>';
$out .= '</ul></div><div class="tabs-content">' . do_shortcode($content) . '</div></div>';

return $out;