Project report

advertisement
Project report
‘Halls of fame’ website URL cs13jt.leedsnewmedia.net/COMM2735/workshop7/index.php
I created the site Halls of fame as I remembered the very strenuous process of attempting to
find an accommodation that would best suit my financial, aesthetic and geographical needs.
The Leeds University website does contain all of the relevant information on prices, location
and details. However, it doesn’t list all of the features of each accommodation immediately.
Thus, my website intends on simplifying the decision of which accommodation to pick using
realistic student driven content to provide an unbiased report.
Project report
Alexander states that Web 2.0 in comparison to Web 1.0 ‘sees users as playing more of a
foundational role in information architecture.’ (Alexander, B. 2006) As user generated
content is vastly occupying the media from citizen journalism, to information and comments
boards on websites, it is imperative that any new and innovative website draws upon this
concept of web 2.0 as a knowledge economy where users can actively digest, consume and
produce content and upload it to a webpage. The popularity of websites such as Facebook,
Youtube and Wikipedia rely solely on a user’s ability to contribute information, upload
content or participate in a conversation with another user. In order to succeed in creating a
popular website in this contemporary era, one must appropriately apply the ideologies of
Djick who identifies how ‘notions of ‘participatory culture’ tend to accentuate the
emancipation of the engaged citizen’. (Djick, V. J. 2009) Such a metaphor defining the
liberation a user feels when actively participating in a website outlines the importance of
implementing the possibility of user generated content onto my website. To ensure this
process of ‘emancipation’ for the user, I created a comments board on my website, as
Alexander and Djick both evidence in their independent research, the user is central to the
success of a website. To attempt to create and maintain a user economy, I implemented a
registration form and log in page onto my website which only allows users to read, contribute
to and rate other users’ comments on the page once they have verified that they are human
and have created a username and password. By introducing a comment rating system my
website becomes increasingly interactive as users not only have the ability to simply
comment, but they can like one another’s comments as well, introducing a sense of
community into the website whilst also encouraging users to contribute relevant content to
the comments board. In order to register to the webpage, one must complete a
‘ReCAPTCHA’ form which consists of an extensively broad combination of letters or
numbers which changes randomly each time the registration page is loaded. This process
discovers whether or not a user is human by asking them to verify the particular numerical or
alphabetical combination. This greatly reduces the chance of a bot attempting to gain access
to and inscribe some potentially malicious viral code into my website which could cause a
user’s private information to be openly distributed and shared throughout the web.
Technical report
In terms of the technicality of my website, there are various elements that are absolutely
fundamental to its functionality. The php code ‘include_once’ and ‘require_once’ are evident
features on every page in my website.
By utilising the include and require_once php tags my website is capable of determining
which particular webpage to open as a result of the user completing all of the relevant fields
in order to see a certain webpage. For example, the “checklog.php” page utilises an ‘if’
statement to check whether or not a user has logged in and then automatically determines
which website to redirect that user to. If the user has completed the registration and log in
process they are then verified as ‘logged’ by a $_SESSION variable which states that the
user has logged in and is now allowed to see the content written in the “header_logged.php”
file. If the user has not correctly completed the log in process they are redirected back to the
login.php page and instructed to complete it again. By utilising two files, one called
“header.php” and another called “header_logged.php” the webpage is capable of
distinguishing which relevant information to present to the user depending on whether they
are defined as a member of the website or not.
The “functions.php” file ensures the safety of the content uploaded to the webpage utilising
the clean string feature utilising the function of ‘clean_string’ which effectively prevents any
malicious characters from introducing any potentially negative content onto the webpage. By
including the ‘functions.php’ file in the opening lines of code of each php page, the potential
for uploading dangerous content which threatens user security is largely reduced. Another
element which attempts to increase the website’s security is the ‘salt’ function. The ‘salt’
function is included to encrypt passwords by applying a random set of letters to them and
increasing the difficulty of hackers or bots decrypting a user’s username and password and
potentially proceeding to discover more personal information about that user, such as email
or bank account passwords.
The “db_connect.php” file includes all of the information needed to connect to the
phpMyAdmin database I have created, without this the user would be unable to complete
any of the dynamic functions available to them, as the database must have an established
connection to the webpage in order for the database to save usernames, passwords,
comments and comment ratings.
This segment of code is mandatory to the aforementioned dynamic aspects of the webpage
as without a database connection the webpage will not load. The utilisation of an ‘if’
statement in php later determines whether this connection has been successful or not
through a small line of code called ‘mysqli_select_db’ directing the website to connect to the
database through the $db_server and $db_database variables which consequently provide
the independent name and hostname of my database and my username and password
concluding in an established connection. If any of these details are however incorrect, the ‘if’
statement utilises the term ‘else’ to define the error and as a result uses a ‘die’ statement to
echo out the text "unable to connect to MySQL:”. If the die statement isn’t visible and the
website has directed the user to the correct page the connection has been established and
as an admin you can change, add and delete different structural elements of the database,
such as comments, usernames, passwords and the relevant information concerning the
different University halls that my database has a list of.
In terms of understanding the ‘like’ a comment feature, I added a ‘sentiment’ row into my
‘comments’ table in my phpMyAdmin database. This ensures that the webpage recognises
how many users have liked a comment and manages the rating of a comment through the
$str_comments variable which uses an anchor <a href> tag which directs the homepage to
another page called ‘like.php’ which has the relevant code which identifies whether a
comment has been liked or not.
The ‘like.php’ file then defines the $query variable as that which will update the comments
table setting the sentiment row to +1 to evidence the fact that a comment has in fact been
liked and store this data on the database. The header statement then directs the page
immediately back to the homepage so that the user does not see a ‘like.php’ file page and
the else statement above in the ‘homepage.php’ file determines that the comment has been
“liked” through the $str_comments variable.
Bibliography
Alexander, Bryan. (2006). Web 2.0: A new wave of innovation for teaching and
learning? [Accessed on the 12/01/2015] http://www.educause.edu/ero/article/web20-new-wave-innovation-teaching-and-learning
Djick, V. José. (2009). Media culture & society: Users like you? Theorizing agency in
user-generated content. [Accessed on the 12/01/2015]
http://jclass.umd.edu/classes/jour698m/vandijk.pdf
Download