PHP Advanced

PHP Advanced /MySQL Programmer


You should be at the Beginner PHP course level – you might have to write the test at (cost of R500) to prove that.

Intended Audience

This course is for web designers probably with HTML or XHTML who want to take their web pages
to the next level and build database-driven sites using PHP and MySQL

Further Training

If you do not know SQL, you should seriously consider doing the SQL course – this is a must
for any IT professional nowadays.

Course Material


Course Info

Day 1

  • Building personalized web apps
  • Prepping the database for log-ins
  • Constructing a log-in user interface
  • Encrypt passwords with SHA()
  • Comparing passwords
  • Authorizing users with HTTP
  • Logging In Users with HTTP Authentication
  • A form for signing up new users
  • Use cookies with PHP
  • A cookie-powered log-in
  • Logging out means deleting cookies
  • Sessions aren’t dependent on the client
  • Keeping up with session data
  • Log out with sessions
  • Complete the session transformation
  • Sessions + Cookies = Superior log-in persistence
  • Eliminate duplicate code
  • Using templates
  • Control your data, control your world
  • Model a database with a schema
  • Wire together multiple tables
  • Foreign keys in action
  • Tables can match row for row
  • One row leads to many
  • Matching rows many-to-many
  • Build a questionnaire
  • Get responses into the database
  • We can drive a form with data
  • Generate the questionnaire form
  • Strive for a bit of normalcy
  • When normalizing, think in atoms
  • Three steps to a normal database
  • Altering the database
  • A query within a query within a query…
  • Let’s all join tables
  • Connect with dots
  • Surely we can do more with inner joins
  • Nicknames for tables and columns
  • Joins to the rescue
  • Five steps to a successful mismatch
  • All we need is a FOR loop
Day 2
  • String and custom functions
  • The search leaves no margin for error
  • SQL queries can be flexible with LIKE
  • Explode a string into individual words
  • implode() builds a string from substrings
  • Preprocess the search string
  • Replace unwanted search characters
  • The query needs legit search terms
  • Copy non-empty elements to a new array
  • Extract substrings from either end
  • Multiple queries can sort our results
  • Functions let you reuse code
  • Build a query with a custom function
  • Custom functions: how custom are they really?
  • SWITCH makes far more decisions than IF
  • Give build_query() the ability to sort
  • We can paginate our results
  • Get only the rows you need with LIMIT
  • Control page links with LIMIT
  • Keep track of the pagination data
  • Set up the pagination variables
  • Revise the query for paginated results
  • Generate the page navigation links
  • Putting together the complete Search script
Day 3
  • Regular expressions
  • Decide what your data should look like
  • Formulate a pattern for phone numbers
  • Match patterns with regular expressions
  • Build patterns using metacharacters
  • Fine-tune patterns with character classes
  • Check for patterns with preg_match()
  • Standardize the phone number data
  • Get rid of the unwanted characters
  • Matching email addresses can be tricky
  • Domain suffixes are everywhere
  • Use PHP to check the domain
  • Email validation: putting it all together
  • Visualizing your data… and more!
  • No input form is safe
  • We need to separate man from machine
  • We can defeat automation with automation
  • Generate the CAPTCHA pass-phrase text
  • Visualizing the CAPTCHA image
  • Inside the GD graphics functions
  • Drawing text with a font
  • Generate a random CAPTCHA image
  • Add CAPTCHA to the Add Score script
  • Five degrees of opposability
  • Storing bar graph data
  • From one array to another
  • Formulating a bar graphing plan
  • Crunching categories
  • Doing the category math
  • Bar graphing basics
  • Draw and display the bar graph image
  • Individual bar graph images for all
  • Leftovers, Set up a Development Environment, Extend your PHP

Day 4

  • Syndication and web services
  • RSS pushes web content to the people
  • RSS is really XML
  • From database to newsreader
  • Visualizing RSS
  • Dynamically generate an RSS feed
  • Link to the RSS feed
  • A video is worth a million words
  • Pulling web content from others
  • Syndicating YouTube videos
  • Make a YouTube video request
  • REST request
  • YouTube speaks XML
  • Deconstruct a YouTube XML response
  • Visualize the XML video data
  • Access XML data with objects
  • From XML elements to PHP objects
  • Drill intoXML data with objects
  • Not without a namespace!
  • Lay out videos for viewing
  • Format video data for display
Day 5
  • What Is a Function?
  • Why Functions Are Useful
  • Calling Functions
  • Working with Variable Functions
  • Writing Your Own Functions
  • Working with References
  • What Is Object-Oriented Programming?
  • Advantages of OOP
  • Understanding Basic OOP Concepts
  • Creating Classes and Objects in PHP
  • Creating and Using Properties

Duration and pricing

  • Full-time over 5 days (R10995)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995)
  • Part-time over 8 Saturdays, 3 hour sessions (R11995)
  • Please note : For part-time courses we do not have a fixed schedule and you will be placed on a waiting list until we get a group of 4+ together. Please book with no dates on the bookings form. This will automatically put you on the waiting list. We will confirm with you as soon as we have a part-time group together.
  • Distance-learning over up to 3 months (R9995)
  • International exams are not included in the course price.
  • Prices exclude Vat for Vat-registered companies


  1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
  2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
  3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R950.


You can download the course registration form on our home page or by clicking here


You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.


Please email us


On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *