Conditional Shortcode image display

I wasn’t able to replicate your problem exactly, but here’s a tip: include some default behavior, in case the user puts in a bad value for the subject:

    // Set image acorring to guide type
    if ($subject == 'wordpress') {
        $subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/wordpress.png" alt="מדריך וורדפרס" />';
    } elseif ($subject == 'web design') {
        $subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/webDesign.png" alt="מדריך בניית אתרים" />';
    } elseif ($subject == 'facebook') {
        $subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/facebook.png" alt="מדריך פייסבוק" />';
    } elseif ($subject == 'RSS') {
        $subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/rss.png" alt="מדריך RSS" />';
    } else {
        // Add default case
        $subject = "Default here";
        $subjectImg = '<img src="'.get_bloginfo('template_url').'/img/postInfoBox/default.png" alt="מדריך RSS" />';
    }

That way, there will always be an image even if they give you bad data.