su linux non mi ha mai dato quall'errore
fai così:
if(isset($_POST['select2']) && $_POST['select2']=="3")

if(isset($_POST['select2']))
definisce l'if nel caso sia settata la select, se vuoi che la funzione parta solo quando l'utente selezioni un campo particolare non va bene, devi mettere la condizione discriminante per cui la varibile $_POST['select2'] sia uguale a uno dei valori (value) della select.
ciao