1. зачем 2 условия?В первом проверка на передачу гет-переменной, а во втором проверка на наличие данных в сессии. Так как $_SESSION['switch'] не должна зависеть от $_GET['switch'] , я написал их в разных условиях. А как бы написал ты?
2. это не сработает, это ты скроешь поле ввода от самого себя и толькоДа, в условии сравнивать не с сессиями, а со значением из бд (я упоминал об этом).