Нетбийнс не изписва, че има грешка, но в браузъра излиза друго. Като изтрих ''а''-тата и ги написах на латиница и си тръгна кода. А за версията на пхп сигурно сме над 5.3, щом и ерегито не става и трябва да се замести.
if (!preg_match("^[a-zA-Z]{3,16}$",$name)) - а тук добавих едно ^ накрая и се оправи
if (!preg_match("^[a-zA-Z]{3,16}$^",$name))