I started this project to explore web technologies with the goal of a better
understanding of how web sites produce and deliver content to the browser. Many
parts of the process
more or less obvious from browsing the internet and exploring the features of a web
browser, but I knew that diving in and making something would be instructive.
An interesting web application with which I've always been impressed is the
forum. I had a few ideas that I thought were worthwhile so making my own forum application
seemed like a good choice for my project. My application is written in procedural PHP,
stores data in a MySQL database, and delivers pages in HTML.
- Users can subscribe to threads that they want to follow.
- Threads can be marked private. Private threads are invisible to users who have
not been invited. In a private thread, users are identified by who invited them to discourage inviting untrustworthy users.
- Activity on watched threads and personal messages appear in the user's
inbox on a per-user basis, and the system tracks new and read messages. It's possible to
reply directly from the inbox, so the community can be read like a bulletin board or like
- All user input is sanitized to protect against SQL injection and only
privileged users can add and delete boards.
- PHP sessions allow authentication to persist while the user keeps the
session cookie or passes the session nonce as a query variable.
Click the thumbnails below to see some of these features in the application:
You can access a live demo of my Community application here: Sorry, I disabled the demo for now. If you want to see it, contact me.
A zip of the PHP source of demo is available here. install/index.php contains SQL statements to
construct the database required to run the application.