Setting up a database to handle form data from a website
In this tutorial series, we are going to create a website at PHPandMySQL.inmotiontesting.com. This website is going to have 2 pages, and each page is going to allow for comments.
When users submit a comment, we'll want to keep track of the following information:
- Their name
- Their email address
- Their website
- Their actual comment
- The time the comment was submitted
In order to keep track of this data, we need to:
- Create a database for our website
- Create a table in the database that has values for name, email, website, and comment.
Step 1. Creating a Database
The easiest way to create a database is to use the MySQL Database Wizard available in cPanel. This will not only create a database for you, but help you create a database user and assign the user privileges to your database. For more help with creating a database, please see How do I create a MySQL Database in my cPanel?
If you're following along with our example, we've used the MySQL Database Wizard and:
- Created a database named inmoti6_mysite
- Created a database user inmoti6_myuser with a password of mypassword
- Assigned inmoti6_myuser with privileges to inmoti6_mysite
Step 2. Creating a Table
Now that we've created our database, we need to create a table to hold all user comments. This table will be called "comments". To create this table:
- Log into cPanel and click the phpMyAdmin icon
- Select your database in the left menu. (we clicked on "_mysite" because our database is "inmoti6_mysite")
- On the right side of the page under "Create new table on database", enter "comments" as the name and 7 as the number of fields and click "Go"
- On the next screen, we will need to fill in specific details for our table. Please use the screenshot and details below to create the table
A_I: (put a check in the box)
To help manage individual comments, for example to delete one, we want to assign a specific id number to each comment.
- After you have filled in the details above, click "Save"
Congratulations, as this point we have successfully created our database and setup our table! In our next article, we'll show you how to create a form using HTML that asks the user for their comment.
‹Section 1: How to create a custom PHP contact form with validation
›Section 3: Creating a simple HTML Form to get user comments
We value your feedback!
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
new! - Enter your name and email address above and we will post your feedback in the comments on this page!
Using PHP to create dynamic pages
2013-08-22 3:26 am
Thanks for the share, and actually I was really impressed with the way you made it look so simple with all those pics! I was just about to hire some web developers for this task and here your blog came to my rescue and saved me some bucks :).
2014-09-23 5:53 am
I doubt I can just set them as an admin and myself as a subscriber and be done with it,
2014-09-23 9:16 am
Thank you for contacting us. Indeed there is most likely more to the setup. We are happy to help with any specific questions, or steps you are having problems with.
This guide is part of our full class on Using PHP to create dynamic pages.
If you have any further questions, feel free to post them below.
2015-01-20 6:03 am
This is my website, please guide me it's working fine, but the issue is, mail is not coming in proper format, I want to get the mail from any enquiry in table format.
How does it possible. Please guide me..
Many Thanks in Advance
2015-01-20 9:24 am
To clarify, do you want the contents of the message itself to be within a table? To do so, you would need to create a table within your code and dynamically insert your field content with PHP. We cannot provide exact code to do so, but that should give you the general idea of what you need to do.
2015-01-22 12:35 pm
Nothing to improve! It's straight to the point and very helpfull.
2015-01-22 12:37 pm
Web development isn't that dificult with resources like this available.