<? ITC280 HOMEWORK ?>

Study together

Assignment 9: Image Upload. Due Wednesday, November 26th.


For this assignment you will need to get an Image Upload system built for administrators to login and upload images currently visible on your 'view' pages.

Your model for the design changes necessary is the Image Upload handout. Please view this carefully, as all instructions to accomplish this task are to be found there.

All visible pages must be integrated into the 'look and feel' of your site design. Specifically, the visible pages must have the appropriate header, footer and nav as the rest of your site.

Documentation: All of your documentation sources need to be kept up to date with your progress. Particularly the "Page Description" spreadsheet would need to be updated to include documentation and explanation of the purpose, contingencies and feeding/fed by files related to the files you are creating. Also, if you are doing work, I expect to see it reflected in your blog. 

ACCESS FOR GRADING: Create a "Developer" level administrator with the login/email of bill@example.com, and a password of asdfasdf. Please keep this available, so I can view your work. If you are working on a public site (or have sensitive data) please email a password.

So what is ACTUALLY due for this assignment?:

  1. Image Upload Integration, so I can login and upload images over your existing 'view' images
  2. Your page description and weblog needs to be updated to reflect all work, time spent & related files.

Extra Credit: Successfully integrate the 'Thumbnail Upload' piece of the handout with your 'list' page for up to 30 extra points!


Assignment 8: Administrative Login Integration. Due Monday, Nov. 17th.

For this assignment you will implement an administrative area for your website. This area will consist of web pages and files that create a web application that allows administrators to login and view private pages. One such page, nmEdit, will allow editing capability to your database tables.

The administrative pages will be protected via PHP Sessions, where anyone who tries to access a page before successful login will be redirected to the login page.

Your model for these pages is the "Admin Login" handout. Follow the directions in the word document to create the admin files.

Once you have your admin setup and working, please create a 'developer' level administrator, using the email 'bill@example.com' and make the password 'asdfasdf'. I'll be using this login to view your work.

Next, create a table editor, so your administrators can view and edit their data. Your model for this is "nmEdit".

All visible admin pages must be integrated into the 'look and feel' of your site design. Specifically, the visible pages must have the appropriate header, footer and nav as the rest of your site. The only exception is the nmEdit page, for which you will not need to integrate your look and feel.

Documentation: All of your documentation sources need to be kept up to date with your progress. Particularly the "Page Description" spreadsheet would need to be updated to include documentation and explanation of the purpose, contingencies and feeding/fed by files related to the files you are creating. Also, if you are doing work, I expect to see it reflected in your blog. 

ACCESS FOR GRADING: Create a "Developer" level administrator with the login/email of bill@example.com, and a password of asdfasdf. Please keep this available, so I can view your work. If you are working on a public site (or have sensitive data) please email a password.

So what is ACTUALLY due for this Assignment?:

  1. Password protected administrative pages allowing add/edit/delete access to all your database tables
  2. The above page (or pages) need to be protected via login and password, with an administrator login and password I can use (bill@example.com, 'asdfasdf')
  3. Your page description and weblog needs to be updated to reflect all work, time spent & related files.

Assignment 7: Categories. Due Wednesday, Nov 5th.

For this assignment you will need to add a 'categories' page that allows users to select a category which in turn feeds an adapted list page, followed by an adapted view page.

Your models for this will be the book categories demo on the Joins/Categories lesson.

Likely you will need to alter your table, and add a CategoryID field to your data table. You will also need to create a Category table, and fill it with categories applicable to your data.

Once your pages are functional, link your 'categories' page on your "final" website. You will no longer need to directly link your list page, if things are working properly.

All your site documentation pages need to be updated! Update that blog with time spent!


Assignment 6: Paging. Due Monday, Nov 3rd.

For this assignment, you'll add paging to your list & view pages.

Your model for these changes is the Classes/Paging lesson on the class website.

All your site documentation pages need to be updated! Update that blog with time spent!


Assignment 5: List/View Pages. Due Wednesday, Oct. 29th.

For this assignment you will need to build custom (meaning personalized) list & view pages, modeled after the 'muffins' example from the List/View lesson. These pages could be adjusted to match the final goal of your site, in which the items featured will appear. Example List/View Code

To get the most out of this class, I recommend thinking of using your database to store items that can be thought of an an inventory. If you plan to sell or display things, for example, you could build a table of images, CDs, books, artwork or crafts.

You will need to build this table in MySQL, and feature the data (items) on your "list" and "view" pages.

All pages (however) must have the entire look and feel of your site design, in that the pages must include your custom nav, header and footer as appropriate.

All "view" pages need to feature a "custom" (unique) image! Customers need to know when they are on a different page, and a custom image is a good way to let them know. If you are doing a calendar site, you could use number "images" to indicate the date, etc.

YOU MUST HAVE AT LEAST 20 TOTAL ITEMS FEATURED. If you don't have 20 items, fabricate believeable material, that can be deleted later!

Once your list/view pages are functional, link your page on your "final" website. 

All your site documentation pages need to be updated!


Assignment 4: Site Plan Complete Due Monday, Oct 20th

Now that we are about to store data in the database and use this on our website, we need to settle on a Site Plan that identifies who our customers are and what type of data our database will store.

To get the most out of this class, I recommend thinking of using your database to store items that can be thought of an an inventory.

Easy items to consider storing may be photographs, CD collections or movie collections.

The items thus stored don't need to be physical. We have had students who built 'landlord' review systems, in which tenants could report on the qualities of their landlord. In this case, the 'tenant review' was the inventory item.

Another case was a student who built a bicycle hazard reporting system. The public can report hazards into this system. The 'harzard' in this case is the inventory item.

So what is ACTUALLY due for Assignment 4?:

  1. Your site plan must identify what type of inventory item you will be tracking.
  2. Your site plan must identify your site's AIA
  3. Your site plan must identify the main goals of your site
  4. You must have a unique and consistent look and feel to identify your site

When you are done building and linking the files above, please login to the class site, click the 'Update Profile' link, and change the link to reflect the absolute web address of your 'const.php' page, which will allow me to find your work.

IMPORTANT: All your site documentation pages need to be updated!


Assignment 3: Troubleshooting Exercise. Due Monday, Oct. 13th.

This assignment will be to troubleshoot a PHP page called "adder.php". Before the errors were added to it, the page was designed to add 2 numbers via a form field, and produce the correct answer. Here is a link to the repaired version:

adder "repaired"

In the attached word doc, you will find some instructions, and the "damaged" version of "adder.php". Please print this word doc, (if you have not already done so) and follow the directions on the sheet. Copy the code from the word doc to begin troubleshooting.

When you are done, you will be linking the finished product to your construction page. If you are unable to complete the troubleshooting, track all of the functional errors you find, and detail them on a word document, for partial credit.

IMPORTANT: Be sure to track the errors you find right away when you start troubleshooting, in case you can't find all of them!!

Below is a link to the word document with the damaged code, and instructions for the assignment:

Assignment 3: Adder word doc

HINT: For troubleshooting techniques refer to Arrays/Troubleshooting Lesson!


Assignment 2: HTML & PHP Templates. Due Monday, Oct 6th

For this assignment you will need to decide on the look and feel for your site (at least temporarily).

You will first create an HTML 'template' page, that will carry the basic look and feel of your website, and will function properly in all browsers you choose to support.

Be sure your template 'behaves' in at least Internet Explorer and Firefox! You need to fix ALL html errors before going to the next step!

Once you have your HTML template, you will split that file up into functional include files, based on work in class and the includes lesson page. The page thus created will be the 'starting point' for all your other pages.

This 'starting point' we'll call the PHP Template (since we'll keep the HTML template as well for reference).

Your PHP Template must be functional, and feature at least 2 include files. At a minimum, these would be a header and a footer. The footer must feature a dynamic copyright.

Feel free to use the following PHP template as a starting point. Remember to at least change the colors to make it your own look & feel: PHP Template

EXTRA CREDIT? For a possible 30 extra points you may implement array based dynamic links, covered at the bottom of the includes lesson page. Your best model for this is the 'headerSwap' example at the bottom of this page.

Update all applicable documentation, most specifically the 'page description' and 'weblog'.

Please link Assignment 3 (template) as target="_blank" on the construction page.

So what is ACTUALLY due for Assignment 2?:

  1. A HTML template page featuring the look and feel of your website, that functions consistently in IE/FF
  2. A PHP template page that must be composed of at least 2 include files
  3. All involved pages (HTML Template, PHP Template, include files) must show up on your Page Description (spreadsheet)
  4. One of the include files must feature a dynamic copyright
  5. All documentation (page desc., etc.) must be up to date

I will start taking points off for lack of documentation. Keep those documents up to date!

WANT MORE EXTRA CREDIT AND BE ABSOLVED OF KEEPING YOUR PAGE DESCRIPTION SPREADSHEET UP TO DATE? For a possible 30 extra points you may implement your page documentation by installing the PHPDocumentor, and continuing to update your documentation in this way. PHP Documentor Instructions

If you decide to do this, be sure to elect not to show the source code, as this will expose your MySQL username & password!


Assignment 1 : Site Planning & Design (web logs) Due Monday, Sept 29th


Assignment 1 will lay the groundwork for your final project, a dynamic web site.

resource files: Developers benefit from tracking the work they have done.  By knowing how long something takes, we can bill our time.  By detailing the work we have done, others can make updates and changes to our work.

You will be developing 3 resource files and keeping them up to date, and online for me to follow your progress. All 3 resource files will need to be updated as the quarter goes on.

Assignment 1 will consist of a creating resource files that you will link to your homework page. IMPORTANT: These pages may be largely or entirely empty, at first.  (See details below)

The type of file is not as important as the data that will later be stored in it.  Name your files in a manner consistent with the examples below. Make sure all files are linked as target="_blank". The files will be as follows:

web log: Create a web log (blog) on which you document your progress as you plan, design and build your dynamic website. Here you will make daily updates of your progress, the time spent on certain pages or projects, what you learned (that is important for your future work) and what to keep in mind for the next steps you will take in your project. This blog may include code snippets, etc. that you feel are important for your development.  Set up your blog so that anyone may comment on your blog.  If you are unfamiliar with how to create and maintain a blog, please use following document: Blogger Instructions

page description: This Excel spreadsheet will include a notation about each of the individual pages necessary for your site to function, and a basic description of it's functionality, and dependent pages. Dependent pages are those that either feed into, or are fed from, a page.  Please use the linked example spreadsheet as an example, and a template for your page description spreadsheet.  Sample Page Description Spreadsheet

site plan: This word document will define the main pages and functionality of your site. You will state the purpose and audience of the site, specify naming conventions for your pages and functions, define your database, including all tables and fields required, define any functions or include files you will need to build. You will also need to spell out your proposed method for maintaining state for the users, and for securing the data on your website. You will need to specify the colors you are going with, indicate number of images needed perhaps, etc. Sample Site Plan

construction page: Build a simple "construction" page that links to the various "user viewable" files and pages as you work on them. You will need to send me a link to that page. Please name this page "const.php", and place in the root of your server space (in the public_html folder).

Here is a link to a sample: Sample const.php page

So what is ACTUALLY due for Assignment 1?:

  1. Your Directory Structure needs to be set up and operational, as described in Lesson 2.
  2. Your Construction page needs to be operational, and linked to the text files, etc., as outlined above.
  3. The files need to include appropriate data, and need to be up to date. See above.
  4. The files need to explain the type of site you will be building, colors, pages, database fields, etc.

When you are done building and linking the files above, please login to the class site, click the 'Update Profile' link, and change the link to reflect the absolute web address of your 'const.php' page, which will allow me to find your work.

IMPORTANT: All of the files above, with the exception of the blog, will be virtually empty, at this point. As we go forward, and you build your pages, I will be expecting you to update these regularly.


Reading/Study

Below is the required reading from the class textbook.  View details for reading each section, as not all pages are assigned.

I'll also post errata (errors) or passages for which I have a comment by page number.

Last, I recommend study, as opposed to reading, this material. This may mean reading passages more than once, so there is a better understanding, searching on the web to view supporting material, and especially, doing the exercises as laid out in the book, if what is being explained is not clear.

Current Reading

Chapter 8 Building Web Applications

Previous Reading

Chapter 7 Using PHP with MySQL (entire)

Chapter 6 Debugging/Errors (entire)

Chapter 5 Database Design, pages 165-186

Chapter 4 MySQL, pages 125-131

Chapter 3, conditionals, pages 81-90 and 98-113

Chapter 2, Arrays, for loops, pages 57-64 and 77-79

Chapter 2, Forms, conditionals, pages 35-51.

Introduction & Chapter 1 (entire)

 


 

Touch the keyboard...

Final Project

Your final project will be the creation of a dynamic web site, which will allow you to show and edit inventory items in a database, upload images and change select page content via a Rich Text Editor (RTE).

You will also be building an administrative area for your website, which will allow session protected login for adminstrators to change web page content and upload images.

Your final project:

  • Will consist of 7 - 10 dynamic web pages
  • Will include login and tracking, via session state and cookies
  • Will include an administrative page or pages
  • Will include elements as described on the homework page, as assignments

Please check this space frequently for more info on your final project, as we start to work with PHP and MySQL.

 

 
Print this Page Back To Top

© 2002- 2008 newMANIC INC, All rights reserved