Om det där är hela början på php-scriptet (och <?php ligger på första raden utan något som helst innan) så skulle jag föreslå att du testar att skriva om ditt anrop till header():
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . $data . '.php');
En Location-header ska egentligen vara fullständig, inkl. protokoll. T.ex.:
Location: http://99mac.se/forum/newreply.php?do=newreply&p=351017
Sen verkar dina enkel- och dubbelfnuttar ha ställt till det lite. Om $data hade innehållit strängen "foo" skulle din Location ha blivit:
Location: '.foo.'.php
Vilket väl ändå inte var vad du hade tänkt dig? Tänk på att allt inom dubbelfnuttar (") kommer att variabelsubstitueras, och allt inom enkelfnuttar (') kommer att tolkas exakt som det står. Båda varianterna måste förekomma parvis.