Project assignment 5. Due Tuesday, Dec. 19 at 10 pm

User login and authentication; additional feature; finalizing the project.
More specifically, for user login and authentication you need to implement the following:
  1. User log in: a way for the user to log in. It may be a separate page or a form on the side of a page. Check the password against the one stored in the database (you may skip this part until I explain it on Tuesday). If the passwords match, display the user's name on each page to make it easier for the user to see whether they are logged in (you need sessions for that).
  2. People don't need to be logged in to read the blog, but only logged in users should be able to post and comment.
  3. When a user posts a post or a comment, their name must be filled in automatically.
  4. Log out - allow the user to log out. At that point the session information should be destroyed.
Technical details: use the examples of sessions and password checking given on the resources page. Don not use cookies explicitly - those are used by session functions automatically. session_start() is a function that starts a new session if there isn't one already started and allows the program to access session information if the session has been started earlier. $_SESSION is an array that contains session information. You can assign data to that array and access it on a different page, as long as both pages start with session_start().

Additional feature(s)

As a change from previous requirements, it is sufficient for a group of two to implement one additional feature. Another one may be added for extra credit. Please clearly explain your additional feature(s) in your submission e-mail. Some ideas for extra features:
  1. Allow posts to be private ('private' is a possible value of post_status in wp_posts). Private posts should only be displayed to users who are logged in.
  2. Implement search for all posts and/or comments by a specific user.

Project finalization and submission

Please send me an e-mail (CC your project partner) with the following information:
  1. location of the starting page of the final version of your project.
  2. a brief description of your web site (for instance, how does the user find a page to post a message).
  3. a brief description of additional features that you implemented
  4. a list of things that are not working the way they are supposed to. If any of the new features are not working and prevent the other functionality from working (say, the authentication messes up posting that worked before), please submit a link to the last working version of that page AND the file(s) with your last attempt on the new things.
The code has to be commented and easy to read. It should be clear who of the group members worked on each part of the project. If you pair-programmed the entire project, you should still have your names as authors on all files.

This page is a part of CSci 1101 course web site.