your code will only work on two conditions:
1. if no $action is set:
if (! isset ($action)) - on top
2. if $action is set, and the value is "install"
if (isset ($action) && $action == "install")
It doesn't say anything about $action being defined with value != "install" ..
For it to spit output for any $action (defined or not), put an else statement.
So, the next time you open the url, it will at least echo something.
Although i figure it would at least display the input form if you just access it without any action ...
But hmmm... on a second thought, where will you get $action from?
Are you trying to get it from user's POST value (ie: when the user click on the submit button?)
In that case, you'd check for $_POST['action'] instead of $action, unless your server is set to treat $_REQUEST variables as regular variable (i don't remember the term for it, but i know it's not recommended)