le forme "sincopate" a volte le sincopi te le fanno venire

isset verifica se il parametro è settato o è nullo, in questo caso potresti avere 3 soluzioni:

1) variabile post esistente = "modifica"
2) variabile post esistente <> "modifica"
3) variabile post non esistente

non ti da errore ma ti avverte.

se invece scindi i controlli (ovviamente mettendo prima il controllo di esistenza) non genera alcun che.

se la prima condizione è vera passa a validare la seconda altrimenti ciccia.