Comment System!

Summary

Wanted to add the ability for people to comment on this website, but delayed adding the feature until I could write the code myself. There are many pre-built PHP solutions on the market (like commentator), but the original purpose of this site was to allow me to learn how to build a website from scratch. So I've implemented the comment system using about a hundred lines of code to access the MySQL database, verify inputs and display all the comments for a particular article.

Wanted to add the ability for people to comment on this website, but delayed adding the feature until I could write the code myself. There are many pre-built PHP solutions on the market (like commentator), but the original purpose of this site was to allow me to learn how to build a website from scratch. So I've implemented the comment system using about a hundred lines of code to access the MySQL database, verify inputs and display all the comments for a particular article.

For those that care about the more technical details. Use form, input, and textarea tags to make the user form. When the page is rendered, check for GET or POST variables to see if someone has submitted a comment, e.g. isset($_POST["comment"]). If so, get the comment information, check its validity, and then insert it into the correct MySQL database and table, e.g. using mysql_query("INSERT INTO..."). Each comment is associated with the article id, its own special ID and a UTC time stamp. The MySQL database is queried on page load to see if an article has any comments, e.g. mysql_num_rows( mysql_query("SELECT...") )>0. If so, get information for each comment, format the html and send to the user. All this is done at the end of the page, so that the user gets the full article and then the comments start to load, preventing long load times of the MySQL queries or anything else takes longer than normal.

The comment system is only missing a CAPTCHA form to prevent spammers and it will be complete.

Edit: A CAPTCHA system has been implemented and is ready to use.

-biafra
bahanonu [at] alum.mit.edu

©2006-2024 | Site created & coded by Biafra Ahanonu | Updated 21 October 2024
biafra ahanonu