Advice to beginner on practice project

I was wondering if web developers that have experience with php could give me some advice on my practice project.

I am creating a website which is basically an online jokes database. I have managed to design the database, the database will have the following tables, JokeCateogory exists because of the many-to-many relationship between Jokes and Category:

  • Users(Userid(primary key),Username, Password, EmailAddress)
  • Jokes(Jokeid(primary key),Question, Answer, userid(foreign key))
  • JokeCategory(jokeid(foreign key),categoryid(foreign key),primarykey(jokeid,categoryid))
  • Category(categoryid(primary key),categoryName)
  • Ratings(ratingid(primaryKey),jokeid(foreign key),userid(foreignkey),rating)

The Users table has password field, how should I store the password?
I’m new to web development especially on the server side so don’t really know best practices such as whether to use tools or frameworks etc.
Should I create a CMS for each user to be allowed to add jokes and rate jokes?
How would I allow new users to register to the website with regards to confirmation emails?

Passwords should always be stored in an encrypted form. When the user enters their password to login, encrypt that and compare the encrypted strings.

First of all design first the database schema.
Second is design the OOP class/objects
Third is create the Login/Authentication system…

Once you have good grasp of PHP, you can study and use framework.

I understand implementing OOP will help when I want to add extra functionality though I’m not sure if I should implement classes within the database, do you think I should do this as I don’t want to overcomplicate the database design.

Take a look here: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/getting-started.html

This is (arguably) the most advanced php database layer out there.

If it is all gibberish to you then come back here and we can point you to something simpler.

On the other hand, if any of this makes sense and you can follow some of the steps then you may as well start with the best.

It’s all gibberish to me, at the moment I’ve been using MySQL.

Ok. See if you can get anywhere with this: http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html

Instead of blogs, use your jokes database. Don’t worry about the user for now. User’s are one of the more advanced topics.