a ver, te explico amigo memoadian, si te das cuenta en tu código si yo ingreso la primera variable, entraré en el primer if
 
if(isset($_POST['var1'])){ 
ya que la var1 esta definida 
por otro lado si ingreso la primera y segunda variable entrare en el primer if tambien 
if(isset($_POST['var1'])){ 
ya que la var 1 esta definida 
si ingreso la primera y la tercera variable tambien entrare en el primer if, por último si ingreso las 3 variables... tambien entro al primer if, ya que la var1 esta seleccionada 
por lo tanto, se puede entrar al primer, segundo y tercer if, JAMAS a los siguientes 
la solución es bastante simple, solo invierte el orden de los ifs, algo así:    
Código PHP:
Ver original<?php
 
if(isset($_POST['var1']) and 
isset($_POST['var2']) and 
isset($_POST['var3'])){     //codigo largo
}else if(isset($_POST['var1']) && isset($_POST['var2'])){ // se ha ingresado var1 y var2 no var3     //codigo largo
}else if(isset($_POST['var1']) && isset($_POST['var3'])){     //codigo largo
}elseif(isset($_POST['var2']) && isset($_POST['var3'])){     //codigo largo
}else if(isset($_POST['var1'])){ //solo se ha ingresado var1 ninguna otra     //codigo largo
}else if(isset($_POST['var2'])){     //codigo largo
}else if(isset($_POST['var3'])){     //codigo largo
}else{ // no se ha ingresado ninguna
    //codigo largo
}?>