En realidad, las dos formas se utilizan para lo mismo. Sinembargo, la segunda manera es la formalmente correcta.
Primera forma: Cita: Código PHP:
if ($submit) {
Como sabrás, lo que pones dentro del if debe ser un valor lógico (true o false). Pero en este caso, cuando una variable no está definida se interpreta como false. Y cuando está definida, sea cual sea su valor, pasará como true.
El problema de utilizar esta manera es que si no está definida, estará intentando leer $submit y esto provocará un error
WARNING.
***********************************************
Segunda forma: Cita: Código PHP:
if (isset($submit)) {
Esta segunda manera corrige lo anterior porque no intenta leer directamente la variable (corriendo el riesgo de que no esté definida). Sino que justamente pregunta si está definida o no. El valor de todas maneras será un true o un false.
Saludos