- Parent Category: Programming Assignments' Solutions
We Helped With This Programming Assignment: Have A Similar One?
|More Info||Homework Help Computer Science|
Winter WEBD 236 Lab 3
If you use an external source (i.e. a web-page, the required textbook, or an additional book) to help you answer the questions, then be sure to cite that source. You should probably always be citing a source.
Having just learned about sessions and simple authentication, we are ready to add these features to our Q&A forum from Lab 2. In this lab, you will allow people to register for an account. Users have the following attributes:
• First name
• Last name
• Email address
• Password (kept in plain text for now)
Furthermore, all questions should now be associated with a registered user. In other words, you will need to add a column to your questions table that is the primary key of the user.
When you visit the forum, you should see something similar to the following:
Notice that each question now has a user name (as a hyperlink) that is associated with the question. If you click on the user who posted the entry, you will see a profile screen similar to the following:
Notice that the user profile screen also lists all questions created by that user. If the user clicks the “Register” link in the upper right hand corner, then they are presented with the following registration page.
Naturally, all fields are required. Aside from ensuring non-empty fields, the email address must be unique for all users – using an existing e-mail address should be flagged as an error (see below).
Once the fields are all validated, the user is created and immediately logged in and redirected to the home page for the forum (see below). Notice that the forum welcomes them by name, and they now have a link at the bottom to add a question. Also, the “Register” link has become “My Profile” and the
“Login” link has become “Log out.”
A user who logs out, and wishes to log back in again can click on the “Login” link and be directed to a login page as shown below.
After logging in, the user should be directed back to the main forum screen.
When a user views a question that does not belong to them, they can merely view it (see below).
However, if the user is the owner of the question, then the user can also edit and delete the question (see below).
The same is true of the profile information. If the user selects “My Profile” they are taken to the same screen as anyone would be to view another’s profile. However, they have the additional options of editing and deleting their own profile. See below.
When a user decides to delete their profile, you must maintain referential integrity in the database. Therefore, you must first programmatically delete all forum posts belonging to that user and then remove the user and log them out. For example, if Reginald Cooper deletes himself, then immediately upon clicking “Delete,” you would see the following main page (without his question).
As with all good software, an effort to URL fish into an area that requires a login should redirect to a login page. Furthermore, if the user is logged in, but tries to URL fish to, say, delete another user, then the program should not permit that action.
• Add a login screen
• Add a user registration screen
• When a user is logged in, the header should welcome the user and have link to the home page, the user profile, and a log out button.
• When no user is logged in, the header should merely have a link to the home page, a link to register, and a link to log in.
• Without logging in, users should be able to view questions and other users’ profiles.
• When logged in, users should be able to create, edit, and delete their own questions (but not others’ questions), and edit and delete their profile.
• No duplicate email addresses should be permitted.
• All sessions should be over HTTPS.
• See the LoginExample file posted on the supplemental web site for how to add basic user login capabilities.
• You should use SQLite (not MySQL) for this project.
• Make sure that your project works on any server on any directory. In other words, you should never hard-code a URL with the name or IP address of your machine. We won’t be using your machine when we test it. Also, you should not hard-code a directory name in your application. It should run as http://localhost/forum/index or as http://localhost/myforum/index or any other directory URL.
• Use the MVC framework developed in class. This will help, since the project is getting bigger.
Create a ZIP file of your entire project contents as it is found under your C:XAMPPhtdocsforum3 directory. This ZIP file should contain your database, your PHP scripts, style files, etc. Follow proper coding conventions (indentation, commenting, etc.) that you would have learned in previous courses.
Submit the ZIP file to the dropbox for this assignment in the course.
This is a PHP programming. I am using Aptana, SQ lite. For this lab.
MUST use the MVC template structure.
Example how the files should be separate in their own folders. Please use all the folders and name it as you see it. When I open the folders I need it to look like this.
• Six steps to database design
– Identify the data elements
– Subdivide each element into its smallest useful components
– Identify the tables and assign columns
– Identify primary and foreign keys (relationships)
– Identify indices
– Consulting company connects people with the right skills to clients who need those people to work on specific projects
– Need to know which employees have certain skills (and at what level), and assign them to a project for certain dates.
– A client can have more than one project, but each project has a specific contact person (sponsor) within the client’s organization.
• Is the database normalized?
– Third normal form: 2NF and every non-key attribute must depend only on the primary key
– Boyce-Codd normal form: (BCNF) a non -key attribute cannot depend on a non-key attribute
(avoids transitive dependencies )
– Higher forms: interesting, but not particularly useful for this course.
• CREATE DATABASE – Needed in a multi- database server (MySQL), but not for SQLite.
CREATE DATABASE IF NOT EXISTS Contracting;
• USE – again, for servers w/ many DBs
• DROP DATABASE – irreversable
DROP DATABASE Contracting;
• Why load initial data
– Need the DB to be in an initial state for the application to work
– Need something to test interactively
Joe,O'Conner,... containing contact
John,Roberts,... information to load
Frequently Asked Questions
Yes. No hidden fees. You pay for the solution only, and all the explanations about how to run it are included in the price. It takes up to 24 hours to get a quote from an expert. In some cases, we can help you faster if an expert is available, but you should always order in advance to avoid the risks. You can place a new order here.
The cost depends on many factors: how far away the deadline is, how hard/big the task is, if it is code only or a report, etc. We try to give rough estimates here, but it is just for orientation (in USD):
|Regular homework||$20 - $150|
|Advanced homework||$100 - $300|
|Group project or a report||$200 - $500|
|Mid-term or final project||$200 - $800|
|Live exam help||$100 - $300|
|Full thesis||$1000 - $3000|
Credit card or PayPal. You don't need to create/have a Payal account in order to pay by a credit card. Paypal offers you "buyer's protection" in case of any issues.
We have no way to request money after we send you the solution. PayPal works as a middleman, which protects you in case of any disputes, so you should feel safe paying using PayPal.
No, unless it is a data analysis essay or report. This is because essays are very personal and it is easy to see when they are written by another person. This is not the case with math and programming.
It is because we don't want to lie - in such services no discount can be set in advance because we set the price knowing that there is a discount. For example, if we wanted to ask for $100, we could tell that the price is $200 and because you are special, we can do a 50% discount. It is the way all scam websites operate. We set honest prices instead, so there is no need for fake discounts.
No, it is simply not how we operate. How often do you meet a great programmer who is also a great speaker? Rarely. It is why we encourage our experts to write down explanations instead of having a live call. It is often enough to get you started - analyzing and running the solutions is a big part of learning.
Another expert will review the task, and if your claim is reasonable - we refund the payment and often block the freelancer from our platform. Because we are so harsh with our experts - the ones working with us are very trustworthy to deliver high-quality assignment solutions on time.