Cita: ...mi experiencia propia me ha demostrado que cuando colocas un include donde insertas la conexión a las bases de datos ya no es posible hacer el header para redireccionar...
La razón de eso es que existe una salida de datos hacia el navegador, no importa si se hace include/require antes de un header/session_start, siempre y cuando no se produzca ningún tipo de salida hacia el navegador, el error mas común es que cuando se hace un include/require el archivo a incluir agrega el tag ?> el cual cierra el código PHP, PERO, en algunos casos después del ?> se produce una salida hacia el navegador, sea un espacio en blanco o una nueva linea/retorno de carro y es por eso que se da esa situación, para evitarlo ese problema no se recomienda en absoluto cerrar el tag PHP (?>), por lo tanto, si hay espacios en blanco o lo que sea no producirá error alguno, pero ojo, que quede claro, el hacer un include/require
NO AFECTA a header o session_start