You are already sending content before using the header directive.
From the PHP manul
Remember that header() must be called before any actual output is
sent, either by normal HTML tags, blank lines in a file, or from PHP.
It is a very common error to read code with include, or require,
functions, or another file access function, and have spaces or empty
lines that are output before header() is called. The same problem
exists when using a single PHP/HTML file.
You should remove the echo before using header.
If you work with a lot of files and are not sure that there is no output before using header you should have a look at the Output Control Functions.