los problemas que tienes se resuelven estudiando el contexto de las variables, osea... dependiendo donde incluyas ciertas variables es su contexto...
si estas trabajando fuera de funciones/métodos se le conoce como contexto
global, en cambio cuando estas dentro de alguna función/método se le conoce como contexto
local...
es así de sencillo, solo comprende esto y por favor,
lee el manual...