There is a program running on the server, it handles all game logic. It takes input to it from a socket connection and responds through that socket. Periodically it runs a thread that dumps information into the database (so that when the server is shut down, stuff like player's points aren't killed). Similarly, when a player logs in, his/her necessary data is pulled out of the database and into the program.
The client program simply displays game information and takes user input. It sends requests for information and user input to the server using an HTTP form post on a php script on the server.
The PHP script then sends the data through a socket to the server, it takes the response from the socket and submits it back as a form response which the client then interprets.
My question is, is this model at all sustainable for lots and lots of users? The program on the server has O(1) time for all actions, including requests for information and actions.