Todo ese HTML de esa script está de más ..
Código PHP:
<?php
$destinatario="[email protected]";
$comentarios="Datos del solicitante" . "\n\n" ."Nombre: " . $_POST['nombre']. "\n\n" . "E-Mail: " . $_POST['mail']. "\n\n" . "Nick: " . $_POST['nick']. "\n\n" . "Contraseña: " . $_POST['contraseña']. "\n\n" . "¿Trabajas para otras webs?: " . $$_POST['trabajas']. "\n\n" . "Comentarios: " . "\n\n". $_POST['comentarios'];
mail($destinatario,"Quiero ser Reportero de Genes Pokémon",$comentarios,"De:$mail");
?>
<? header("Location: reportero.php"); ?>
Fijate en que momento se llega a mostrar algo de ese HTML en el navegador: nunca, .. nunca por qué cuando termina el proceso PHP (se ejecuta lo que hay entre <? y ?> de tu primer bloque) .. mandas una salida tipo "navegador: cambia la página actual a tal página (location .. pagina.tal) ..". Las cabeceras HTTP via header() se interpretan antes de cualquier otro HTML/etc que le envies al navegador ...
Lo que proponía Reynier con el tema de las funciones de control del bufer de salida (ob_start() y afines) debería ir .. pero si te marca una "salida" en la línea 2 es por qué algo de HTML/espacios o saltos de línea tienes ahí.
Un saludo,
Un saludo,