bien, el punto es que tu código es sintácticamente correcto... vaya, esta bien escrito (
o eso aparenta) 
por lo que te sugiero leer el siguiente enlace: 
como hacer preguntas inteligentes 
¿porque?? 
porque no nos dices nada útil, y menos provocas risas... xD 
por ejemplo: 
 - ¿tienes activado el reporte de errores??
 - ¿como sabes que no funciona?? 
 - ¿de donde has sacado eso? 
etc... la idea es que nos brindes mas información, porque como te digo: el código es correcto (
que funcione o no es distinto) 
...algo mas?