Cita: ¿es posible que se deba a una versión distinta de php?
Más bien a diferencias de configuración.
Con el código que expones ... no queda claro tu proceso .. Supongo que esa variable que controla el "switch()": $button viene de un formulario HTML? .. o de un link? .. es decir .. es una variable "externa" a ese script en concreto.
Si es así .. parece que tu problema está con el uso de las variables externas .. las "asumes" como globales ($button) en lugar de accederlas por el array superglobal asociado: $_POST['button'] .. o $_GET['button'] o el método que usastes para hacer llegar esas variables a ese script.
Revisa esta FAQ:
http://www.forosdelweb.com/showthrea...989#post238989
Y la documentación de PHP al respecto, .. vas a tener que modificar todo tu script en ese aspecto. Estos cambios te harán idependiente de que si se usa "register_globals" a ON o a OFF (ON como es tu caso .. y OFF como será el de tu servidor lo más probable).
Documentación oficial:
http://www.php.net/manual/es/languag...s.external.php
Un saludo