It's been a while since I've visited these pages, I wrote this in 2001. I'd venture a guess that they still work (this page and LHAP II) as the code is stable. You will need to have JavaScript turned on as the Overlib library requires it to properly run.
How this basically works is you click on one of the green or red boxes and the X10 ID and an on or off command get sent. A green box is a device that is currently on, if clicked the off comnand will be sent. A red box a device that is off, if clicked the on command will be sent. The PHP code that this page is generated from (this page is a static display, sorry) takes the data passed to it (on/off and ID) and executes the command on the server to perform the requested operation. In the second example page (LHAP II) I also make use of the popups to describe the device. When I designed these pages in 2001 screen sizes of 640x480 were still common. So everything had to be made small. The popups (they behave like the modern HTML title attribute) allow you to have more than the cryptic A16 name on the device. Read the Readme to find out the program's dependencies.
This program would need to be completely rewritten but it's a prime candidate for AJAX. This would permit, close to, real-time updates of the current state of the X10 devices.
Remember that these pages are meant as examples. They're not very pretty but are functional and show how, with a little bit of code, you can create a very simple but functional home automation display.