Can shortcodes contain conditional statements? Even without them my shortcode renders blank page

The following code is supposed to allow for a shortcode that includes many attributes, but not all of the attributes may always be present in which case I do not want the containing element to show anything. However, with or without the conditional statements, when I upload my functions file I receive only a blank page on the front and back end.

Here is the full shortcode with conditional statements:

function info($atts, $content = null) {
extract(shortcode_atts(array(
    "name" => '',
    "image" => '',
    "address" => '',
    "phone" => '',
    "email" => '',
    "website" => '',
    "description" => '',
    "amenities" => ''
), $atts));
return '<span class="sort">'
if($image) { '<img src="'.$image.'" />'}'
<span class="name">'.$name.'</span>
<span class="details">'
if($phone) { $phone }
if($address) { '&bull; <a href="http://maps.google.com/?q='.$address.'" target="_blank">'.$address.' <img src="<?php bloginfo('template_directory'); ?>/_/images/mapmarker.png" width="16" height="16" alt="Map" /></a><br/>'}
if($email) { '<a class="infomail" href="mailto:'.$email.'">Send Email</a>' }
if($website) { '<a class="infosite" href="'$website'">Visit Website</a>' }
if($description) { '<p class="infodetails">'.$description.'</p>' }
if($amenities) { '<p class="amenities">'.$amenities.'</p>' }
'</span>
</span>';
}

add_shortcode("info", "info");

Thanks for your suggestions!

Solutions Collecting From Web of "Can shortcodes contain conditional statements? Even without them my shortcode renders blank page"

your conditional breaks the concatenation of the strings (which is not in your code, anyway)

try to re-write this section:

function info($atts, $content = null) {        
extract(shortcode_atts(array(            
    "name" => '',            
    "image" => '',            
    "address" => '',            
    "phone" => '',            
    "email" => '',            
    "website" => '',            
    "description" => '',            
    "amenities" => ''        
    ), $atts)); 
$output = '<span class="sort">'; 
if($image) { $output .= '<img src="'.$image.'" />';}
$output .= '<span class="name">'.$name.'</span> <span class="details">';
if($phone) { $output .= $phone; } 
if($address) { $output .= ' &bull; <a href="http://maps.google.com/?q='.$address.'" target="_blank">'.$address.' <img src="' . get_bloginfo('template_directory') . '/_/images/mapmarker.png" width="16" height="16" alt="Map" /></a><br/>'; } 
if($email) { $output .= ' <a class="infomail" href="mailto:'.$email.'">Send Email</a>'; } 
if($website) { $output .= ' <a class="infosite" href="'.$website.'">Visit Website</a>'; } 
if($description) { $output .= '<p class="infodetails">'.$description.'</p>'; } 
if($amenities) { $output .= '<p class="amenities">'.$amenities.'</p>'; } 
$output .= '</span> </span>'; 
return $output;
}

add_shortcode("info", "info");