Different Category Headers using in_category and elseif

The unnecessary semi-colon is probably causing the error. <?php } else { ;?> should be <?php } else { ?>. Try this:

<?php if (in_category( array(6,14,15,13) )) { ?>
<div id="eatheader">

<?php } elseif (in_category( array(7,11,12,10,9) )) { ?>
<div id="goheader">

<?php } elseif (in_category( array(4,16,17,18,19) )) { ?>
<div id="playheader">

<?php } elseif (in_category( array(3,22,21,26) )) { ?>
<div id="shopheader">

<?php } elseif (in_category(5)) { ?>
<div id="talkheader">

<?php } else { ?>
<div id="defaultheader">

<?php } ?>

As you can see, I’ve also modified <?php } elseif (in_category( array('5') )) { ?> to <?php } elseif (in_category(5)) { ?> as you are specifying just one category.

The same code can be rewritten to this (just in case it’s useful to you—more readable and understandable):

<?php

    if ( in_category( array( 6,14,15,13 ) ) ) {
        echo '<div id="eatheader">';
    }

    elseif ( in_category( array( 7,11,12,10,9 ) ) ) {
        echo '<div id="goheader">';
    }

    elseif ( in_category( array( 4,16,17,18,19 ) ) ) {
        echo '<div id="playheader">';
    }

    elseif ( in_category( array( 3,22,21,26 ) ) ) {
        echo '<div id="shopheader">';
    }

    elseif ( in_category( 5 ) ) {
        echo '<div id="talkheader">';
    }

    else {
        echo '<div id="defaultheader">';
    }

?>