That page is almost full html! So embed PHP in HTML, not the other way around.
Keep in mind that any page that has PHP in it, should have the ".php" extension or whatever you've set up your server to parse as PHP (php3, inc etc.), otherwise it wont work.
The table tag has no "height" attribute - set its height via CSS.
<?php
include "admin/connect.php";
// do stuff here with the database or whatever
?>
<link rel="stylesheet" href="admin/style.css" type="text/css">
<table width="292" border="0" cellpadding="0" cellspacing="0" class="bg">
<tr>
<td>
<form action="<?php echo "$yourfilepath/sub.php" ?>" method="post">
E-mail: <input type="text" name="email" size="30"><br>
<input type="radio" name="choice" value="sub"> Subscribe  
<input type="radio" name="choice" value="unsub"> Unsubscribe<br>
<input type="submit" name="submit" value="submit">
</form>
</td>
</tr>
</table>
The CSS ideally should look like this:
body {
margin-left: 0px;
margin-top: 0px;
font-family: Georgia, "Times New Roman", Times, serif;
color: #000000;
font-size: 12px;
}
.bg {
font-size: 14px;
background-attachment: fixed;
background-image: url(http://www.guildsandgangs.pt/newsletter/bg2.jpg);
background-repeat: no-repeat;
background-position: left top;
}
You had a syntax error at "color; #000000;". Guess why.
The "font-family: Georgia, "Times New Roman", Times, serif;" in "bg" class was inherited from "body", so I've discarded it. Also, the URL to your background image is hardly a good idea.
If this doesn't work either, maybe your path to the css is incorrect. If your php file is in the same folder as the CSS, the href should be just "style.css". The same goes to your "include" path in the PHP code.
Use an IDE (dreamweaver, pdt, netbeans, Eclipse etc.) or an advanced text editor (like notepad++). With those you can easily spot syntax errors.