cuando tienes estos problemas de flujo del script es muy pero muy bueno ver que contienen las variables exactamente, lo que te recomiendo es que hagas un backup del script y hagas pruebas en el mismo...
Las pruebas serían que en todos los casos posibles del script te imprima el valor de todas las variables...Sobretodo de la de $whobutton que es la que no está reconociendo el valor Enviar...
Hacelo y seguro encontrarás el problema...