Ambush Commander wrote:Without tables? Absolutely awesome.
That could be done fine with phpbb as well, assuming you're talking about HTML tables. Just edit the template files.
-------------------------
I actually once did a forum. It was my first server-side code that went live, too. It was done in VBS with ASP 2.0 . It was a hopeless mess, but I was 15 at the time, and had virtually no experience doing any sort of server-side programming. It was buggy and the search tool was limited to a brute-force LIKE query... but it worked. ASP and HTML were interspersed for impossible to maintain code. Practically no use of stylesheets and a single view forum/thread/latest-threads/search-results file with about 2,500 lines of code (including HTML). That was a pretty wild ride, I tell ya... Oh, and before I forget: it was back-ended by an MS Access database! Not MSSQL, but Access. Just think about that for a minute.
I have since worked on a php forum, but that never got very far past the pre-alpha concept phase. Here I have some tips for you:
- Separate content from design from logic. This is absolutely mandatory. Read the "horror story" above for explanation. Don't get yourself into the forrest of HTML + PHP + Arbitrary text.
- OO design recommended. I won't say mandatory, although I believe this to be better, so as to not spark another OO v. Procedural flamewar. The reason being that OO design allows for modularity, which will keep the time maintaining code to a minimum. Also, this allows for an easier integration of a plugin interface, which is popular nowadays.
-Security. Keep everything as secure as possible. This is also easier with OO code, since it allows you to abstract yourself from your code and consider the bigger picture. Make sure you test all your user input for malicious XSS, SQL injection, and CSRF attacks. Don't trust your users! Ever!
And here something more specific (trendy/popular stuff nowadays):
- AJAX for a real-time experience.
- XHTML compliance & RSS feeds.
- No HTML tables. This will give you lots of cross-browser incompatibilities, but it gives you more control over your page and the page's source-code is a dream come true!
- Put the output through HTMLTidy so your source-code looks good.
- Plugin/Extension interface. So you don't have to mod your code and be unable to upgrade like with most forum systems such as phpbb.