A ver, los botones no ejecutan acciones simplemente activan en el caso del submit el envío del formulario hacia determinado destino.
Dicho destino es el que se encarga de ejecutar código dependiendo de lo que se recibes, así es como funciona el comportamiento cliente->servidor/request->response.
El navegador hace una petición (request) y el servidor devuelve una respuesta (response).
Ahora, los formularios no son los únicos que pueden crear peticiones, de hecho incluso el index.php es por si mismo una petición. Puede usar los parámetros de la URL para enviar diferentes datos y así actuar en consecuencia.
O también ejecutar otro script, etc.
Pero todo esto sucede de forma natural, es decir, recargando la pagina por cada petición.
Si lo que deseas es ejecutar acciones en el servidor sin recargar nada entonces necesitas usar Ajax para enviar peticiones en silencio. Hay muchas formas, mi favorita es UJS.