MSTC Logo

Web Data Management
Last revised: April 19, 2012

Syllabus

Instructor's Notes  
Unit 1: Web Client / Server Concepts Background required to create PHP & MySQL based web sites
Installing XAMPP and MySQL Notes for how to install XAMPP and MySQL in PortableApps (converting to lab)
Unit 2: PHP Sequential Processing PHP syntax to accomplish sequential processing tasks.
Unit 3: PHP Control Structures and Arrays PHP syntax to implement decision and repetition processing (includes arrays)
Unit 4: Functions and Include Files How to write your own PHP functions and retrieve/include them from PHP libraries
Unit 5: The MVC Pattern
      MVC PowerPoint
How to use the MVC (model, view, controller) pattern to develop web sites.
(PowerPoint) Download this file to your computer and then view.
Unit 6: MVC Database Access How access a MySQL database using the MVC technique
Unit 7: Session Variables and Login Screens How to use session variables to save data between browser "sessions". How to create a login screen to restrict access to your website.


Recorded Lectures
1. Client-Server Concepts
  Part 1  MP4 Client / Server concepts; Web server software; PHP pages
  Part 2  MP4 Review; Locating PHP web sites; Locating MySQL databases; Viewing a PHP page in a browser
2. PHP Sequential Processing Syntax
  Part 1  MP4 Comments; Variables; Calculations; String processing; Concatenation; Escape characters
  Part 2  MP4 Review; String functions overview; DateTime class overview
3. Control Mechanisms
  Part 1  MP4 PHP If statements; Case statements; Indexed arrays; Associative arrays
  Part 2  MP4 More associative arrays; For loops; Foreach loops; Pre- and Post-Test loops; Creating a table dynamically
4. Functions
  Part 1  MP4 Function concepts; Arrays and functions in PHP; Pass-by-value vs. Pass-by-reference
  Part 2  MP4 Global variables; Optional parameters; Overloaded functions (fail)
  Part 3  MP4 Review; Functions with variable number of parameters
  Part 4  MP4 PHP function libraries (model); require() statements; PHP (HTML) view files; include() statements
5. MVC Pattern
  Part 1  MP4 MVC concepts; Controller pseudocode; Creating the view header and footer; Creating an input form; Coding the controller to display a startup form (default action)
  Part 2  MP4 Modifying a form to communicate with the controller; Validating from the controller; Displaying results (transcript or error) from the controller
  Part 3  MP4 MVC Concepts review; Linking pages without forms back to the controller; Creating a mini-form; Creating a link with an action variable
  Part 4  MP4 Using the same form for new records, existing records and displaying errors; Controller modification; Input view modifications; Sensing multiple submit buttons
6. PDO and MVC
  Part 1  MP4 PDO concepts; Web Site management; Creating an include file to connect to a database; Creating a function (in the model) to retrieve; Linking the connectino file and the model to the controller; Calling the data function from the controller
  Part 2  MP4 Using print_r to ensure the data made it to the view; Structure of the data created by a PDO command; Customing the view using the data (looping through the data); Creating links using the data the request details for one record; Other "list" control options
  Part 3  MP4 Review; Filling a combo box from the database
  Part 4  MP4 Getting and displaying one record's details
  Part 5  MP4 Updating changes the user makes to an existing record
  Part 6  MP4 Making the controller sense the Employee List (Cancel) and Delete buttons; Coding the Cancel button; Coding the Delete button; Adding Cancel/Delete verification to the form (JavaScript)
  Part 7  MP4 Overview of unit6Volker; Deleting child records when the parent is deleted; Using header() to eliminate some duplicate code in the controller; Adding an insert button to the list view
  Part 8  MP4 Coding the controller to insert a new record; Hiding the Delete button for new records; Creating the insert record function; Combining update and save new cases in the controller; Storing null values when appropriate
  Part 9  MP4 Validating for duplicate records (logical keys)
  Part 10  MP4 Adding a search box to the list view and having it retain the search value (no session variable)
7. Session Variables and Login Screens
  Part 1  MP4 Using $_SESSION variables; Using a $_SESSION variable to remember a search criteria across forms; Viewing/deleting cookies (for further testing)
  Part 2  MP4 Encrypting passwords using sha1; Creating a login screen; Creating a login case in the controller; isAuthorizedUser function; Keeping crackers from bypassing the login screen
Using PortableApps
  Part 1  How to install PortableApps and portable applications such as Notepad++ and Firefox portable.

Assignments  
Tickets Mini-assignments due before the next class period.
Unit 2 - PHP Sequential Processing Syntax Version 1 of the Tip Calculator web application
Unit 3 - Control Structures and Arrays Version 2 of the Tip Calculator web application
Unit 4 - Functions and Include Files Version 3 of the Tip Calculator web application that incorporates functions.
Unit 5 - MVC Basics Create a basic MVC pattern web site (preparing for database access)
Unit 6 - PDO and MVC Create a complete web site that provides complete CRUD processing following the MVC model.
Unit 7 - Session Variables and Login Screens
            Assignment Starter Files
Update the Red Cross website to include a login screen and donor search capability

Evaluation Sheets Evaluate your own programs before turning them in.
Unit 5 - MVC Basics Evaluation sheet for the Unit 5 program
Unit 6 - MVC and PDO Evaluation sheet for the Unit 6 project
Unit 7 - Session Variables & Login Screens Evaluation sheet for the Unit 7 project

Handouts
Image Manipulation How to change existing images: format, size, cropping, transparency. Demo using Paint.Net
Installing XAMPP and Query Browser How to install XAMPP to get a portable, development version of MySQL and PHP
CSS 2.1 Validator W3C web site that scans your CSS file to ensure it complies with the standard

Programming Tips  
Develop PHP Website Everything you ever wanted to know about HTML, CSS, PHP, MySQL, JavaScript
Includes a complete list PHP functions!
About.com JavaScript A ton of useful code samples
Sign up for the free, weekly JavaScript newsletter

Web Servers / Hosts  
Charter Communications
http://www.findmyfreehost.com
http://www.free-web-space-finder.com
http://www.freewebspace.net
http://www.myfamily.com
http://www.tripod.lycos.com
http://geocities.yahoo.com/home
http://smorgasbord.freeservers.com
Links to sites that offer free web hosting.
www.fatcow.com FatCow is the site I use to host this web site. It's not free though. It costs about $5 a month. That's not a lot to pay for unlimited web space, unlimited bandwidth, no ads, and your own URL (www.volkergaul.com)
 
MSTC Stevens Point