$test ist innerhalb des Scriptes eine globale, jedoch keine Superglobale Variable.
Also muss in die funktion
function get_form() {
global $test;
....
}
geschrieben werden, um darauf zugreifen zu können.
Auch $id ist nicht definiert, also liefert die funktion nichts zurück und damit steht nichts im Query.
$id muss also irgendwie in die Funktion hinein, entweder als Paramater oder auch über global.
Schreib mal nach dem ersten <?php -Tag
error_reporting(E_ALL);
damit sollte bei jeder nicht definierten Variable eine Warnung ausgegeben werden.
MfG