Web Development with PHP and MySQL

CIS 86

Mission College

Fall 2015

Instructor: Mark Brautigam

Course Overview

  • Setting up a personal web server
  • Setting up a personal web site
  • HTML review
  • PHP scripts
  • PHP code blocks
  • Variables and Constants
  • Data Types
  • Expressions and operators
  • Functions
  • Variable scope
  • If statements
  • Switch statements
  • For loops
  • While loops
  • Strings
  • Regular Expressions
  • Web forms
  • Validating forms
  • Handling errors
  • Web page templates
  • Dynamic content
  • Files and directories
  • File permissions
  • Uploading files
  • Arrays
  • Databases
  • MySQL from the command line
  • Working with MySQL from PHP
  • State Information
  • Hidden form fields
  • Query strings
  • Cookies
  • Sessions
  • Object Oriented PHP

Course Prerequisites

  • Advisory: CA97A. Basic HTML. If you've taken any other HTML class, such as GDES 45, or if you've made an HTML web page before, you should be OK. We will cover basic HTML tags next week.
  • Advisory: CIS 37A. C Programming. In reality, if you've ever taken a class in any programming language, such as Python or Javascript, you should be in great shape. It's important that you understand if statements, loops, and arrays. If you haven't had this before, you can still succeed in this class, but it will be more difficult for you. I've seen people succeed who did not have this preparation.

Textbook

PHP Programming with MySQL, 2nd edition, 2010. Don Gosselin, Course Technology. ISBN 0-538-74584-3

All the course exercises and assignments are in this book. It is not possible to pass this course without access to the textbook. It is an excellent book for learning PHP and MySQL, but after the class is over, you will probably want to obtain a better reference book.

I will try to make a copy of this book available in the Mission College Library reference section. You won't be able to take the book home.

It is possible to rent this book, and I suggest you do so if you find it expensive.

Computer and Software Required

You will need 4 important pieces of software for this class.
  • WAMP or MAMP. This is the Apache web server, MySQL database, and PHP interpreter, with one easy installer. The WAMP version is for Windows, and the MAMP version is for Mac.
  • FTP software for uploading your projects to the Mission College PHP server. FileZilla is a good choice that runs on both Mac and Windows, and it is free. WinSCP is a good Windows-only choice. Fetch is an excellent Mac FTP client, but it does cost money. It is possible to get an educational discount.
  • Telnet software for logging in to the Mission College MySQL server and executing commands. PuTTY is a good choice for Windows. The Mac's built-in Terminal program works well for this purpose.
  • A text editor for typing in the HTML, MySQL, and PHP programs. The most important feature in a text editor is that it be able to save raw text files. For this reason, Microsoft Word and WordPad are not good choices. NotePad on Windows is a slightly better choice, but it is pretty rudimentary. A much better choice is the free NotePad++. For the Mac, an excellent choice is the free TextWrangler. For both Windows and Mac, Adobe Dreamweaver is a great choice if you have access to it, but it is expensive. If you do a lot of web design work, it could be worthwhile to get the educational discount on a monthly subscription. A bonus is that you can set up Dreamweaver to do the FTP for you.
In addition, you will need:
  • A computer, either Windows or Mac.
  • An internet connection.
  • USB memory stick for carrying your work to and from class.

Weekly Schedule

Every week there will be several activities:
  • A series of short online lectures that you can view at your convenience.
  • A multiple-choice quiz that you will take on Angel.
  • Short programming exercises that you will upload to your account on the PHP server.
  • Discovery projects that will eventually form your final group project.
  • A lab session on Thursday evenings in GC 202.

Course Schedule

In addition to the weekly homeworks, projects, and quizzes, there will be a midterm exam (consisting of two parts: multiple-choice and proramming), a final exam (consisting of two parts: multiple-choice and proramming), and a final group project.