Es precisamente tal cual lo pones, el form debe de ir:
Código PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="enviar" value="Guardar" />
</form>
y en tu PHP:
Código PHP:
if( isset( $_POST['enviar'] ) && !empty( $_POST['enviar'] ) ) {
// codigo php
} else {
// html
}
Saludos.