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.