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
}?>