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:
- 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).
- People don't need to be logged in to read the blog, but only
logged in users should be able to post and comment.
- When a user posts a post or a comment, their name must be filled
in automatically.
- 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:
- 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.
- 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:
- location of the starting page of the final version of your
project.
- a brief description of your web site (for instance, how does the
user find a page to post a message).
- a brief description of additional features that you
implemented
- 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.