CS 207 - PHP Lab 2
Friday, 25 January 2019
General direction
To give scope to your lab exercises in this class, you need to
imagine or invent or use some actual, organization or business.
It could be a recreational trail, an online seller of electronic
gadgets, a hockey league, a singer-songwriter's fan club, a student
newspaper, tours to the moon, etc.
This week you can create just one table, next week
you need to create at least a second table that can be
"joined" with the first.
You want to be able to implement a variety of database actions,
including searching, adding and modifying data, for example:
- Allow people to get on your mailing list, possibly with
categories like new products, gas-fired barbecues, trail conditions,
event cancellations, or volunteer opportunities.
- Viewing products, or a selection of products. Game schedules for
a particular team, or location.
- Ordering something: a "Dick Tracy" 2-way wrist radio, a T shirt, a VIA
rail train hat or whistle.
- Record the sighting of a turkey in your crab apple tree
- Posting news items - for administrators only.
- Seeing the latest news, or all the current sports news (a
category) - by the public.
- Maintain an inventory of what's available. To sell, or tools
available for volunteers....
What to do this week in the lab:
Insert data into a table you create. You will need to define the
table, and create a form in which to enter one row of data for it. A form you created during CS 203, or the
one you created last week, may be suitable for this. If not, you
need to create one today. (see below)
- A database named for your username is set up on Osiris.
- Defining one or more tables. (CREATE TABLE statement, and ALTER
TABLE as need arises.) If necessary, look at the tutorial at
postgresql.org and other documentation
links
- In a Terminal,
ssh osiris
psql
no database login or password required, you are connected to
your own database on Osiris
- Grant permissions for user apache,
this is necessary for your scripts to work. For example:
grant connect on database yourdb to apache;
GRANT SELECT, INSERT ON customers, products TO apache;
- CREATE TABLE ... and if necessary, ALTER TABLE...
- Writing a php page (file) that inserts the new data from your
form into your database. When you think it "works",
- Go back to psql and do select * from yourtble;
to be sure that the data is there.
To
receive credit for this lab, your database must contain a table, with
data in it entered from the form. I should be able to enter more.
Testing method this week:
- I will enter test data.
- I will use psql to look at your database, and need to find my
test as well as yours.
What you may have done previously:
I need to be able to find your work on Osiris, easily. It may be that
this will grow naturally out of what you did last semester, you already
have a form for people, and this is what you will use to start building
your database. Otherwise, you may end up creating a new set of pages, I
would prefer this to be the first thing I see, proceed as follows:
- Create the main page for
your organization, describing it. Put your new page on Osiris, in your
directory named www
- If you have an existing "Home page" on Osiris, either
- rename it, and link to
it from your new page (perhaps " maintained by ... ) and name your new
page index.html. or
- Put a prominent link to your new page at the top of your existing html.
- If you skipped cs 203, you are
starting fresh (so ignore #2), and might need to look at some of the
early lab instructions for that course.
- Include on Osiris a form,
allowing the public to (for instance) join your mailing list.
- It is generally not a good
idea to allow the public to both enter information, and also be able to
view it, as this invites the equivalent of "spam"
What to expect next week:
- Add ability to update existing data, such as change of address....
- One or more additional tables. For example, a customer ordering a
book or other product. Or a reader commenting upon an editorial.
- Pages allowing this to happen.