<? ITC280 HOMEWORK ?>

Study together

Assignment 5: adminer. Due Wednesday, Feb 8th

This assignment will have us install a PHP application designed for developers to interface with MySQL.  Right click and download the following file:

adminer Zip File

View the word document for installation instructions.

Do not install adminer on a free host: Many of the free hosting companies (especially freehostia) see adminer as an intrusion on their DB server because it queries the names of all databases on the server.  If you are using a free host, please install adminer on Zephir.

Once you have the application installed, test it, and then link it on your construction page.

Having this application linked on your construction page will allow you to work with MySQL from what could become your 'home base' for development.

Once the application is built, you can supply your MySQL credentials (username, password, database) to edit your data.

Access to this application is controlled by sessions stored on the server. We'll cover sessions and state maintenance more completely in the coming weeks.

If you are going to be building your final project on Zephir, note the reference to 'sessions on zephir' in the instructional word document.

Anyone NOT installing on Zephir will NOT need to follow the 'sessions on zephir' instructions. However, to do so is to increase security on your shared hosting site.


Extra Credit #1: Content Swap Due Monday, Feb. 13th

The following project is not required but is an opportunity for 50 points extra credit.  However this must be completed by the due date listed above for extra credit to apply.

This (extra credit) assignment will be to add context sensitive data to your header/footer include files.  This means you will be swapping out a color, some text and an image on 4 different pages, as well as integrate an associative array as navigation.  View the example site: The Vaguely Aquatic

The entire example site above and all the include files and instructions are in the following Content Swap Zip File

To get credit for this assignment/extra credit you must integrate the following into your design (not the aquatic):

  • Dynamic Title Tag
  • Dynamic Navigation including links in associative array
  • Unique colors/image/text for at least 2 of your site pages via header swap technique (switch)
  • Implementation of rotate() and randomize() functions

These must all be implemented in your design!

The maximum extra credit for completion of this extra credit project is 50 points!


Assignment 4: reCAPTCHA Email Contact Form. Due Monday, Jan. 30th

This assignment will be to build a contact form to allow users to contact the owner of your website.  This contact form will consist of a single page postback application designed to integrate the reCAPTCHA system to prevent form spam.  Please download the following ZIP file and read the word document inside it for installation details:

reCAPTCHA Email Contact Form

For this assignment you will integrate the reCAPTCHA system in the contact.php page per the instructions.  Once this postback application is working, you will need to incorporate the 'look and feel' of your template by adding your header and footer to this file. This file, contact.php, would then be linked to the construction page as assignment 4.

All involved files must show up on your file description spreadsheet.  This spreadsheet was a requirement of A1, but we're using it now!

So what is ACTUALLY due for this assignment?:

  1. A working contact.php page incorporating the reCAPTCHA system as described in the associated zip file, displaying YOUR header/footer combination (no blank white pages allowed)
  2. Update the blog with work completed, time spent, problems encountered

Extra Credit: Create a 'custom' form (with your fields) based on contact_multiple.php for a possible 20 extra points!  For the 20 points you must collect your data, not the data on contact_multiple.php (no lollipops).  Your extra credit form must have a set of radio buttons, checkboxes and a select (drop down) besides text boxes for extra credit.

Free Host Warning: Sometimes on a free hosting company (Freehostia comes to mind) they will not allow the web service (server to server connection) required for reCAPTCHA to operate.  If so, there is a 'captcha free' version of the contact form you can implement.


Assignment 3: Troubleshooting Exercise. Due Wednesday, Jan. 25th.

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 (your repaired version of adder.php) to your staging area. If you are unable to complete the troubleshooting, track all of the functional errors you find, and detail them on a word document (etc), for partial credit.  Be sure to track the errors you find right away when you start troubleshooting, in case you can't find all of them!!

IMPORTANT:  Resist the urge to troubleshoot without allowing PHP to 'help' show you errors.  It's much more important that you learn how PHP attempts to help you find errors and where that fails.

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 Troubleshooting Lesson!


Assignment 2: HTML & PHP Templates. Due Wednesday, Jan. 11th

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' (or model) 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. One of the include files must feature a dynamic copyright.

Design Challenged?  (I know I am!) Feel free to use an open source design for example from oswd.org or openwebdesign.org!

So what is ACTUALLY due for Assignment 2?:

  1. An HTML template page (images, css?) featuring the look and feel of your website, that operates consistently in IE/FF
  2. A PHP template page that must be composed using at least 2 include files
  3. One of the include files must feature a dynamic copyright (PHP Fundamentals lesson)
  4. All documentation (blog, time tracker., etc.) must be up to date


What to blog?

  • Time spent!
  • Tasks achieved!
  • Problems/observations!

Your blog must have at least a weekly entry, or it will cost 10 points off!


Assignment 1: Developer Documentation Due Monday, Jan. 9th. 

Developers benefit from tracking work they have done.  By knowing how long things take to build, we can accurately bill our time.  To this end we'll create a homework/construction page that will link the following resources:

A) Progress Blog: Create a blog in which you are to document your daily progress as you plan, design and build your dynamic website. Here you will:

  • Make daily updates of your progress and time spent on assignments & tasks
  • Document problems encountered and what you learned
  • Document next steps in your project, and courses of action you are considering

This blog may include code snippets, etc. The blog must:

  • Be setup for public comment, so that I may easily respond to your posts. 
  • Be kept up to date, with time spent on each assignment (time on task)  every time you work, or points may be deducted

Here are some ITC280 Blog Samples

Go to the following link and follow the instructions: Blogger.com

B) Time Tracker (Spreadsheet): In this class you will be expected to track all of your time spent on a publicly linked spreadsheet.  We'll track time spent on/in the ITC280 class in the following categories:

  1. Time spent in class
  2. Time spent studying the class website, book etc.
  3. Time spent working on assignments (in or out of class)
  4. Time spent taking tests (outside of class)

To track our time spent on/in the ITC280 class, we'll create a spreadsheet with the following columns:

  • Date
  • Time Spent
  • Category (Class, Study, Assignments, Tests)
  • Task (Completed A3, etc.)
  • Notes (Learned about constants vs variables, etc.)

I recommend using a google spreadsheet for storing this data as you can then build a form to input your time.  We'll be doing this together in class!

C) Alternate Server Space: Seattle Central provides our class temporary web space on a server named zephir. However I also require students use an alternative web server space as well. Please setup a page on your alternate host to start PHP/MySQL development in your alternate space. If you have no such PHP/MySQL server space, I now recommend following these 000 Web Host Instructions

D) Staging Page: Build an HTML page or google doc that provides links as described above as well as links to assignments as you complete them. All links should open in a new page or be linked target="_blank".

E) Update Your Profile: When you are done, please login to the class site, (top right on the home page) click 'Update Profile'  and paste the URL to your staging page in the Staging Page URL field.

F) Check to be sure your resources are public: Open a different browser (not the one in which you are logged into google docs, blogger, etc.) and paste the URL to your staging page into the address bar and double check to be sure all of your resources are publicly available.

Your blog & time tracking spreadsheet must have at LEAST a weekly entry (Or starting with week 2 it will cost 10 points off PER WEEK!) 


Reading/Study

Below is the required reading/study from the class website & textbook. 

Please study all website material for a given week before proceeding to the book.  The website provides the primary reference materials. The book fills in blanks and gives an additional perspective.

There are additional materials linked directly from the class lessons (website).  Click on these links for a better understanding.  On occasion our tests will cover materials found on these directly linked pages.

For the book, view details for reading each section, as not all pages are assigned.

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.

Finally, if you have questions, please email me.

Current Reading/Study

WEBSITE LESSONS: PHP & MySQL
BOOK: Chapter 10: Getting Started With MySQL (pg 279-301)

Previous Reading/Study

WEBSITE LESSONS: UNIX/File Access, MySQL

WEBSITE LESSONS: POST & GET with Forms, Troubleshooting, Arrays
BOOK: Chapter 3: How To Write PHP Scripts (pg 44 - 67) Chapter 5: Bringing Forms to Life (pg 103-108)

WEBSITE LESSONS: PHP Language Fundamentals,Structural Include Files, PHP Development, Conditionals
BOOK: Chapter 3: PHP Solutions: How To Write PHP Scripts (pg 29 - 35 and 36-43) Chapter 4: Lightening Your Load With Includes (pg 69 - 75)

WEBSITE LESSONS: Servers & Scripting, PHP Language Fundamentals & Web Developer Strategies
BOOK: Chapter 1 of PHP Solutions: 'What is PHP & Why Should I Care?'

 


Touch the keyboard...

Final Project

Your final project will be the creation of a dynamic web site that will list inventory items on a web page that are stored in a database table.  Users will be able to page through records and select an individual item to view the details on a separate page.

You will also be building an administrative area for your website, which will allow session protected login for administrators to change web page content by using a Rich Text Editor (RTE) and and upload images and create thumbnails simultaneously.

Your final project will:

  • Consist of 7 - 10 dynamic web pages
  • Merge PHP & MySQL data in a unified web application
  • Feature structural & functional include files
  • Feature list & view, paging and categories
  • Will include an administrative area for managing and editing the web site
  • Will include elements as described on the homework page, as assignments
  • Will be fully documented, with your work identified on a blog, and all important site pages documented

 

 

 

 

 

 

 

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- 2012 newMANIC INC, All rights reserved