# Web Design/Dynamic websites with PHP

Web Design → Dynamic websites with PHP
This page is part of the Web Design project. :
At its simplest, a dynamic website is one that provides customised content to you as you browse. This might depend on information you've provided through filling out an HTML form, or by clicking on products that you would like to add to your shopping cart.
These days, nearly all websites contain some dynamic functionality! We'll start out by seeing how we can respond to information a user enters into a form, and progress gradually to using databases with our dynamic sites.
Note: It is assumed that you are familiar with a little bit of computer programming (variables and if-statements in particular) - if not, please work through the Introduction to programming with Javascript.

## Module Aim

* Setting up your own webserver for testing
* Responding to user information on forms
* Web server/browser requests responses
* Using PHP templates to maintain your site
* PHP Strings
* Arrays in PHP

## Suggested Activities

* Setting up your own webserver with XAMPP-Lite, Wampserver
* Installing Wordpress - our first taste of what's possible with PHP, try out some different templates or even try your own http://urbangiraffe.com/2005/04/12/themeguide1/ has a good getting started template guide.
* Using PHP to create a template for your website
* Responding to HTML forms with PHP - From a simple "Thankyou Jerry for your details." through a complete receipt and automatic emails.
* Calculating Totals and Discounts - Extending your simple receipt to calculate the total for the order, include a postage fee and apply a discount.
* Work through parts 1-8 of the PHP for Beginners tutorial.
* Creating Database Tables - Creating your first database table using PhpMyAdmin.
* PHP Challenges - Get some practise applying your PHP skills! Includes responding to users, designing multi-page forms, getting the data into a database and displaying info from a database.
* Simple Functions in PHP - get started using functions in PHP with links to more resources.
* Under contsruction at the moment are the PHP exam questions.

### More advanced

* Email Injection - Learn how to modify your email sending PHP code to make it more secure.
* The truth about sessions - Learn why you would use sessions in PHP, how you can use them, and what to watch out for in this great tutorial!
* PHP tutorials - PHP and HTML tutorials
* PHP sessions - A basic tutorial on using PHP Sessions
* PHP sessions - Slightly more advanced tutorial on PHP Sessions
* PHP User Sessions and Security - Site for PHP tutorials and more!
* Taking Joomla for a test drive - experience for yourself what's possible and learn how to install your own fully fledged content management system (CMS)! Warning, Joomla is a huge application that can take some getting used to just to use!

## Your learning resources
### Wikiversity & Wikibooks

* Topic:PHP on Wikiversity - some basic guides to PHP still being written
* Programming:PHP on Wikibooks - an excellent, fully featured wikibook nearing completion
* Karrigell Tutorial on Wikibooks -- a tutorial using Karrigell, an Open Source Python web framework

### Online tutorials

* PHP for Beginners - Zend Technologies PHP for Absolute Beginners.
* An intro to PHP - Free2Codes introductory PHP tutorial. Assumes you know nothing about PHP to start with!
* Simple Templating - A great way to see one of the most-used features of Server-Side scripting: creating simple templates for your sites!
* Learn PHP
* Practical PHP Programing - A PHP programing wiki devoted to helping the beginner learn PHP.

## Software

* XAMPP Lite - Set up your own computer as a webserver with PHP.
* wampserver - Similar to XAMPP but without FTP or mailserver
* lighttpd - Lightweight, simple webserver with windows installer
* dWebPro - you can set this up on your hard drive, and then copy it onto a USB device or CD for demonstrations and/or further development. It has plug in modules for MySQL (and other databases) and PHP (plus other programming languages, such as Perl, Python, Ruby and ASP.NET)