"my contact form downloads the PHP script rather than sending the email"
It sounds like PHP is either not installed/running or not properly configured.
I suggest that you create a file called test.php
file with <?php echo "Hello world"; ?>
inside it and see if it does the same thing.
If it still wants to appear like it wants to download, then there's the problem; PHP is not installed or not properly configured and isn't parsing PHP as it normally should.
Create another file and place <?php phpinfo(); ?>
and it should show you the server's information.