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?:
- 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)
- 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?:
- An HTML template page (images, css?) featuring the look and feel of your website, that operates consistently in IE/FF
- A PHP template page that must be composed using at least 2 include files
- One of the include files must feature a dynamic copyright (PHP Fundamentals lesson)
- 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:
- Time spent in class
- Time spent studying the class website, book etc.
- Time spent working on assignments (in or out of class)
- 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!)