PHP/MySql
Course Starts: May 27, 2013
Day & Time: Monday 6:00 p.m. – 9:00 p.m.
Length: 15 weeks, 60 Academic Hour
Instructor: Dovid Herskovits
Cost: 4000 ₪ + 200 ₪ Non refundable Registration Fee.
Payment by Cash, Check or Credit Card. All fees must be paid up to one week before the course starts. If paying by Credit Card, tuition may be paid in installments of no less than 250 ₪ /mo for a maximum of 10 months. If paying by check, checks must be paid in advance and can be post dated until the course completion date. Cash – tuition must be paid in full before the course begins. (For exceptions please call our office)
Introduction to PHP and MySQL
Course Outline
1. Installation
- Your Own Web Server
- Installing PHP and MySQL
- Post-Installation Set-up Tasks
- What to Ask Your Web Host
- Your First PHP Script
- Full Toolbox, Dirty Hands
2. Introducing MySQL
- An Introduction to Databases
- Logging On to MySQL
- Structured Query Language
- Creating a Database
- Creating a Table
- Inserting Data into a Table
- Viewing Stored Data
- Modifying Stored Data
- Deleting Stored Data
- Let PHP Do the Typing
3. Introducing PHP
- Basic Syntax and Statements
- Variables, Operators, and Comments
- Arrays
- User Interaction and Forms
- Control Structures
- Hiding the Underlying Code Base
- Understanding the Database
4. Publishing MySQL Data on the Web
- The Big Picture
- Connecting to MySQL with PHP
- Sending SQL Queries with PHP
- Handling SELECT Result Sets
- Inserting Data into the Database
- Deleting Data from the Database
- Mission Accomplished
5. Relational Database Design
- Rule of Thumb: Keep Entities Separate
- SELECT with Multiple Tables
- Simple Relationships
- Many-to-Many Relationships
- One for Many, and Many for One
6. Structured PHP Programming
- Include Files
- Custom Functions and Function Libraries
- Structure in Practice: Template Helpers
- The Best Way
7. A Content Management System
- The Front Page
- Managing Authors
- Managing Categories
8. Content Formatting with Regular Expressions
- Regular Expressions
- String Replacement with Regular Expressions
- Real World Content Submission
9. Cookies, Sessions, and Access Control Overview
- Cookies
- PHP Sessions
- Access Control Overview
10. MySQL Administration
- phpMyAdmin
- Backing Up MySQL Databases
- MySQL Access Control
- Checking and Repairing MySQL Data Files
- Better Safe than Sorry
11. Advanced SQL Queries
- Sorting SELECT Query Results
- Setting LIMITs
- LOCKing TABLES
- Column and Table Name Aliases
- GROUPing SELECT Results
- LEFT JOINs
- Limiting Results with HAVING
- Further Reading
12. Binary Data
- Semi-dynamic Pages
- Handling File Uploads
- Recording Uploaded Files in the Database
- Putting It All Together
- Large File Considerations
13. MySQL Functions
- Control Flow Functions
- Mathematical Functions
- String Functions
- Date and Time Functions
- Miscellaneous Functions
- Functions for Use with GROUP BY Clauses
14. MySQL Column Types
- Numerical Types
- Character Types
- Date/Time Types
15. Introduction to Object Oriented PHP
- Where do I get help?
- What is OOP?
- How do I write portable PHP code?
- Summary
16. Email
- Sending a simple email?
- Simplifying the generation of complex emails?
- Adding attachments to messages?
- Sending HTML email?
- Mailing a message to a group of people?
- Handling incoming mail with PHP?
- Protecting my site against email injection attacks?
17. Error Handling
- PHP error level reporting
- Built-in settings PHP offers for error handling
- Trigger PHP errors
- Implementing a custom error handler with PHP
- Logging and reporting errors
- Using PHP exceptions for error handling
- Creating a custom Exception class
- Implementing a custom exception handler with PHP
- Handling PHP errors as if they were exceptions
- Displaying errors and exceptions gracefully
- Redirecting users to another page following an error condition
18. Access Control, Detailed
- Using HTTP authentication
- Using sessions
- Creating a session class
- Creating a class to control access to a section of the site
- Building a registration system
- Dealing with members who forget their passwords
- Letting users change their passwords
- Building a permissions system
- Storing sessions in a database
Testimonials:
I would like to thank Mathew Mintz and the Landers Institute for offering a quality program in web development. Yitz Meirovich the instructor gives over the course material in a dynamic highly interactive manner with an emphasis on up to date coding practices such as object oriented programming and best coding practices. Yitz gave me the tools to launch a professional career as a front end/back end developer. He has gone way beyond the call of duty by staying in touch always ready to offer a helping hand.
Chesky D., Ramat Beit Shemesh
