Well, let's see...
1) When the user arrives, there is a counter script that automatically polls the database, based on today's date, to display how many subscriptions are signed up and how many are available on a daily basis.
2) If a person goes to sign up, a gatekeeper script first checks to see if the limit has been reached. If it has, it auto redirects the user to some sort of "The inn is full. Thanks for playing." message.
3) If a person signs up, the processing script increments the daily counter by 1.
Sounds like you need three database interacting scripts, one database table, and some basic php scripting. Your database table needs to have two columns, a date field for today's date and a counter field.
I wrote some basic MySQL connection scripting at the following post: http://phpbuilder.com/board/showthread.php?t=10319260 That has all the information you need to interact with the database.
As far as logic goes, it looks like the worst part is a simple if() test. Something like this:
if ($counter==$max) echo "<meta http-equiv=\"refresh\" content=0;url=\"redirect.html\">";
Ok, that should be enough for you to figure it out. Have fun!