Hi, this is completely off the top of my head so I can't guarantee that this will work - I'm going to attempt to write the script... [code]<?php if ($_POST['subchoose']) { $opt=$_POST['opt']; switch ($opt) { case 1: header("Location: home.php"); exit; break; case 2: header("Location: shop.php"); exit; break; case 3: header("Location: contact.php"); exit; break; } } ?> <html> <body> <form action="menu.php" method="post"> <select name="opt"><option value="1">Home</option><option value="2">Shop</option><option value="3">Contact</option></select> <input type="submit" name="subchoose" value="Make Choice" /> </form> </body> </html>[/code] Thats the basic idea. The header() function is to change part of the header of the document, in this case the URL location and pointing it to the correct script. I've used exit() after to stop the script running any further should it have a problem changing the header for whatever reason. When you run the script the if() function will be false because the submit button hasn't been pressed. When it is, the if() becomes true and the rest is checked. If the menu option isn't valid (1, 2 or 3) then the menu appears again. One final word on header() - you can only change the header if nothing has been sent to the browser before its called so avoid using anything that will send output to the browser. If you don't, you'll get a message telling you the headers couldn't be modified. Hope this helps.