El hecho de que tengas onchange en el archivo .php no significa que el onchange sea de PHP
![Patada](http://static.forosdelweb.com/fdwtheme/images/smilies/footinmouth.png)
. El onchange se ejecuta del lado del cliente (código Javascript), por lo que veo estás enviando el formulario en el evento onchange, si no quieres que haga eso, solo quieres obtener los países y ciudades de la base de datos sin recargar la página necesitarás usar AJAX.