Couple of things you need to change.
First, if you are going to be using PHP to access the value of a select, you need to name the select with square brackets.
Next, you need to use Javascript to change the image. Therefore, set a default option, and make the image load that default image. The Javascript goes at the top of your form, in the <head> section.
You didn't close any of your <td> tags. This is bad design practice. ALWAYS close your tags.
Plus, your <form> tag isn't placed in the best position.
I took out the text part. You could modify it in the same way... look up the InnerHTML object in Javascript.
The thing you need to remember is that PHP is a server side scripting language. It runs all the code, outputs the results as HTML, and sends the results to the user's browser. If you want to use PHP code after that, you need to reload the page, or load another PHP page.
Here is what your code should look like:
<html>
<head>
<title> Skin Selector </title>
<script style="text/javascript">
<!--
function changeImage(imgNum) {
imgURL = "screen" + imgNum + ".jpg";
window.document.myForm.skinImg.src = imgURL;
}
//-->
</script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST" name="myForm">
<table width=500 height=400 border=0 cellpadding=0 cellspacing=0>
<tr>
<td height=30 width=500>
Skin:
<select name="skin[]" class=box id="skin" onchange="changeImage(this.value);">
<option value="1" selected>Skin 1</option>
<option value="2">Skin 2</option>
<option value="3">Skin 3</option>
<option value="4">Skin 4</option>
</select>
</td>
</tr>
<tr>
<td height=5></td>
</tr>
<tr>
<td height=290 width=500 align=center valign=center>
<img src="screen1.jpg" id="skinImg">
</td>
</tr>
<tr>
<td height=5></td>
</tr>
<tr>
<td>
<input name="Submit" type="submit" class=box id="Submit" value="Submit">
</td>
</tr>
</table>
</form>
</body>
</html>