Chapter 1. Introduction to web development and PHP. 2010, Mike Murach & Associates, Inc. Murach's PHP and MySQL, C1

Similar documents
Introduction to web development with PHP

How to code a PHP application

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts

CS637 Midterm Review

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

Introduction to Web Application Development, for CS437/637. Instructor: Betty O Neil

Lab Introduction to Cascading Style Sheets

Introduction to Web Application Development, for CS437/637. Internet Users. How the Internet evolved. A Hierarchy of Networks

FUNDAMENTALS OF WEB DESIGN (46)

Dreamweaver CS3 Lab 2

HTML MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University

Web Publishing Basics I

Getting Started with Eric Meyer's CSS Sculptor 1.0

GIMP WEB 2.0 MENUS. Before we begin this tutorial let s visually compare a standard navigation bar and a web 2.0 navigation bar.

Web Structure and Style. MB2030 Section 2 Class 4

Lab 4 CSS CISC1600, Spring 2012

Taking Fireworks Template and Applying it to Dreamweaver

The MANUAL. 1 P a g e

CS WEB TECHNOLOGY

Lab 1: Introducing HTML5 and CSS3

Slide 1. Chapter 5. How to use the MVC pattern to organize your code. 2010, Mike Murach & Associates, Inc. Murach's PHP and MySQL, C5

Layout with Layers and CSS

Unit 10 - Client Side Customisation of Web Pages. Week 5 Lesson 1 CSS - Selectors

Stamp Builder. Documentation. v1.0.0

Introduction to using HTML to design webpages

Multimedia Systems and Technologies Lab class 6 HTML 5 + CSS 3

HIERARCHICAL ORGANIZATION

How to lay out a web page with CSS

A database-driven web site

CS144 Notes: Web Standards

introduction to XHTML

Implementing a chat button on TECHNICAL PAPER

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views!

Web Programming Paper Solution (Chapter wise)

JSN PageBuilder 3 Configuration Manual Introduction

CSS worksheet. JMC 105 Drake University

Dreamweaver CS5 Lab 2

Designing the Home Page and Creating Additional Pages

Web Programming HTML CSS JavaScript Step by step Exercises Hans-Petter Halvorsen

5 Snowdonia. 94 Web Applications with C#.ASP

CS 350 COMPUTER/HUMAN INTERACTION. Lecture 6

CMT111-01/M1: HTML & Dreamweaver. Creating an HTML Document

Web Publishing Intermediate 2

Web Site Design and Development. CS 0134 Fall 2018 Tues and Thurs 1:00 2:15PM

Tutorial 4. Activities. Code o Editor: Expression Web o Focus : Base Layout, navigation with folders, external stylesheets, Open up Expression Web

READSPEAKER ENTERPRISE HIGHLIGHTING 2.5

ENGINEERING DATA HUB VISUAL DESIGN SPECIFICATIONS VERSION 3. Created: 2/10/2017

INTERNET!!!11!1. Beyond the Mouse A Short Course on Programming. 10b. HTML/CSS or: I m on the. Ronni Grapenthin. November 13, 2011

Let's Play... Try to name the databases described on the following slides...

Scripting. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents

Figure 1 Properties panel, HTML mode

Wireframe :: tistory wireframe tistory.

Dreamweaver CS 5.5. University Information Technology Services. Training, Outreach, Learning Technologies, and Video Production

Computer Science E-75 Building Dynamic Websites

Creating a Job Aid using HTML and CSS

Microsoft Expression Web Quickstart Guide

What is XHTML? XHTML is the language used to create and organize a web page:

Configuring Hotspots

Getting Started with PHP

Cascading Style Sheet. Styles as Tag Attributes. Syntax. <h1>: what font type/size is used? STYLE = SELECTOR {RULES} Attributes such as bgcolor

To illustrate how to set TAG styles the <body> and <h1> tags (for the BODY and the HEADING 1 styles) will be adjusted.

11. HTML5 and Future Web Application

CMS and e-commerce Solutions. version 1.0. Please, visit us at: or contact directly by

Basics of Web. First published on 3 July 2012 This is the 7 h Revised edition

Santa Tracker. Release Notes Version 1.0

PCC Local File Viewer User Guide. Version /23/2015 Copyright 2015

Princess Nourah bint Abdulrahman University. Computer Sciences Department

Prepared: 28 th February 2006 Program Version: swmenupro4.2+ for Joomla/Mambo

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links

Getting Started with CSS Sculptor 3

IBM Forms V8.0 Custom Themes IBM Corporation

CSS Cascading Style Sheets

AGENDA. EMBEDDING FONTS [ Font Files & CSS font-family ] :: Online Font Converter :: ADD font-family css code to style.css

DREAMWEAVER QUICK START TABLE OF CONTENT

HTML & CSS November 19, 2014

Title: Dec 11 3:40 PM (1 of 11)

Internet programming Lab. Lecturer Mariam A. Salih

Creating HTML files using Notepad

Overview of the Adobe Dreamweaver CS5 workspace

XAMPP Web Development Stack

Using Dreamweaver CS6

Tutorial. Activities. Code o o. Editor: Notepad Focus : Text manipulation & webpage skeleton. Open Notepad

Web Development IB PRECISION EXAMS

CS134 Web Site Design & Development. Quiz1

Table Basics. The structure of an table

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by

CSS.

ADOBE DREAMWEAVER CS4 BASICS

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Chapter 2. Self-test exercises

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by

Introduction to CSS. Part 1: Simple Text Formatting. Source Files for this Exercise are available on the Course Website DW_CSS intro

Building Your Website

HYPERTEXT MARKUP LANGUAGE ( HTML )

Assignments (4) Assessment as per Schedule (2)

Software Platforms. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Cascading Style Sheets Level 2

Session 3.1 Objectives Review the history and concepts of CSS Explore inline styles, embedded styles, and external style sheets Understand style

Exam Format: Multiple Choice, True/False, Short Answer (3 points each 75 points total) Write-the-page (25 points)

INTRODUCTION TO HTML5! HTML5 Page Structure!

Transcription:

1 Chapter 1 Introduction to web development and PHP

2 Applied Objectives Use the XAMPP control panel to start or stop Apache or MySQL when it is running on your own computer. Deploy a PHP application on your own computer. Run a web application that s on your own computer (1) by entering its URL into the address bar of a browser or (2) by getting and using an index of the applications that are on the web server. View the source code for a web page in a web browser.

3 Knowledge Objectives Describe the components of a client-server architecture. Describe HTTP requests and responses. Distinguish between the way a web server processes static web pages and dynamic web pages. Explain what these software components do as a web application runs: Apache, PHP, Firefox, and MySQL. Describe the way a PHP application is deployed on your own computer or on an Internet server. Describe the components of an HTTP URL. Describe what happens if you omit one or more parts of a URL when you try to run an application or if you code a URL that specifies a directory that doesn t contain a default page. Describe the benefits of using an IDE like NetBeans for application development.

4 The architecture of a web application ` Client The Internet Web Server Database Server ` Client E-mail Server

Slide 5 The architecture of the Internet ` ` ` ` ` ` ` ` ` LAN LAN LAN LAN ` ` ` LAN ` WAN IXP WAN LAN ` ` ` ` ` LAN WAN IXP IXP WAN LAN ` ` ` ` LAN LAN LAN LAN ` ` ` ` ` ` `

Slide 6 Key terms server client network router Local Area Network (LAN) Wide Area Network (WAN) Internet Internet Exchange Point (IXP) Internet Service Provider (ISP)

Slide 7 How static web pages are processed ` HTTP request HTTP response HTML file Web Browser Web Server

Slide 8 A simple HTTP request GET / HTTP/1.1 Host: www.example.com A simple HTTP response HTTP/1.1 200 OK Content-Type: text/html Content-Length: 136 Server: Apache/2.2.3 <html> <head> <title>example Web Page</title> </head> <body> <p>this is a sample web page</p> </body> </html>

Slide 9 Two protocols that web applications depend upon HyperText Transfer Protocol (HTTP) Transmission Control Protocol/Internet Protocol (TCP/IP)

Slide 10 How dynamic web pages are processed with PHP HTTP request ` HTTP response Web Browser Web Server Database Server PHP Script

Slide 11 Key terms HyperText Markup Language (HTML) static web page HTTP request HTTP response. dynamic web page PHP interpreter database server render round trip

Slide 12 Web browsers Internet Explorer Firefox Safari Opera Chrome Web servers Apache IIS

Slide 13 Server-side languages PHP JSP ASP.NET Perl Python Database servers MySQL Oracle DB2 MS SQL Server

Slide 14 Highlights in the history of PHP Version Year Description 2 1995 Personal Home Page. 3 1998 PHP: Hypertext Processor 4 2000 Introduced the Zend Engine 5 2004 Introduced the Zend Engine II. Improved support for OOP Added the PHP Data Objects extension What s new in PHP 5.5

Slide 15 Highlights in the history of MySQL Version Year Description 3.23 1995 The original version of MySQL 4.0 2003 Introduced support for unions. 4.1 2004 Introduced support for subqueries and prepared statements. 5.0 2005 Introduced support for stored procedures, triggers, views, and transactions. 5.1 2008 Introduced support for row-based replication and server log tables.

Slide 16 MySQL notes MySQL is owned and sponsored by MySQL AB, a for-profit firm. In 2008, Sun Microsystems acquired MySQL AB. In 2009, Oracle Corporation acquired Sun Microsystems. In 2009, many of the original developers of MySQL left MySQL AB and begin working on different forks of the open-source code. One of the most popular of these forks is MariaDB.

Slide 17 The first page of an application (index.html)

Slide 18 The second page (display_discount.php)

Slide 19 The HTML file (index.html) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>product Discount Calculator</title> <link rel="stylesheet" type="text/css" href="main.css" /> </head> <body> <div id="content"> <h1>product Discount Calculator</h1> <form action="display_discount.php" method="post"> <div id="data"> <label>product Description:</label> <input type="text" name="product_description"/> <br />

Slide 20 The HTML file (index.html) (continued) </form> </div> </body> </html> <label>list Price:</label> <input type="text" name="list_price"/><br /> <label>discount Percent:</label> <input type="text" name="discount_percent"/>%<br /> </div> <div id="buttons"> <label> </label> <input type="submit" value="calculate Discount" /> <br /> </div>

Slide 21 The CSS file (main.css) body { font-family: Arial, Helvetica, sans-serif; } #content { width: 450px; margin: 0 auto; padding: 0px 20px 20px; background: white; border: 2px solid navy; } h1 { color: navy; } label { width: 10em; padding-right: 1em; float: left; }

Slide 22 The CSS file (main.css) (continued) #data input { float: left; width: 15em; margin-bottom:.5em; } #buttons input { float: left; margin-bottom:.5em; } br { clear: left; }

Slide 23 The PHP file (display_discount.php) <?php // get the data from the form $product_description = $_POST['product_description']; $list_price = $_POST['list_price']; $discount_percent = $_POST['discount_percent']; // calculate the discount $discount = $list_price * $discount_percent *.01; $discount_price = $list_price - $discount;?> // apply formatting to the dollar and percent amounts $list_price_formatted = "$".number_format($list_price, 2); $discount_percent_formatted = $discount_percent."%"; $discount_formatted = "$".number_format($discount, 2); $discount_price_formatted = "$".number_format($discount_price, 2);

Slide 24 The PHP file (display_discount.php) (continued) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>product Discount Calculator</title> <link rel="stylesheet" type="text/css" href="main.css"/> </head> <body> <div id="content"> <h1>product Discount Calculator</h1> <label>product Description:</label> <span><?php echo $product_description;?> </span><br /> <label>list Price:</label> <span><?php echo $list_price_formatted;?> </span><br />

Slide 25 The PHP file (display_discount.php) (continued) <label>standard Discount:</label> <span><?php echo $discount_percent_formatted;?> </span><br /> <label>discount Amount:</label> <span><?php echo $discount_formatted;?> </span><br /> <label>discount Price:</label> <span><?php echo $discount_price_formatted;?> </span><br /> </div> </body> </html>

Slide 26 Notepad++ with three tabs open

Slide 27 How to open files in Notepad++ Use the Open button in the toolbar. Right-click on the file in the Windows Explorer and select Edit with Notepad++. How to save the current file Use the Save button in the toolbar. Press Ctrl+S. How to save all open files Use the Save All button.

Slide 28 How to close the current file in Notepad++ Use the Close button in the toolbar. How to close all open files Use the Close All button. How to open a new file in a new tab Use the New button in the toolbar.

Slide 29 How to change the Notepad++ style for comments Start the Settings Styler Configurator command. Select PHP in the language list and COMMENT in the style list. Change the font name and font size in the drop-down lists to the blank entries at the top of the lists. Repeat this for COMMENTLINE for the PHP language, for COMMENT for the HTML language, and for COMMENT for the CSS language.

Slide 30 The XAMPP Control Panel

Slide 31 How to start the XAMPP control panel Select the XAMPP Control Panel item from the Windows Start menu or double-click on the XAMPP icon on your desktop. How to start and stop Apache or MySQL Click on its Start or Stop button. To start Apache or MySQL automatically when your computer starts, check its Svc checkbox.

Slide 32 About XAMPP XAMPP is a free, open-source web server package. The package consists of Apache, MySQL, and interpreters for PHP and Perl. XAMPP can be easily installed by downloading and installing one exe file. XAMPP is available for Windows, Linux, Solaris, and Mac OS X systems (the X in XAMPP stands for cross-platform).

Slide 33 The directories for a PHP app on a local server xampp htdocs (the document root directory) guitar_store (the application root directory) admin catalog styles images index.php

Slide 34 The structure for the book apps and ex_starts xampp htdocs book_apps ch01_product_discount ch02_product_discount ch02_future_value ch04_product_list ch04_product_manager... ex_starts ch02_ex1 ch02_ex2 ch04_ex1...

Slide 35 How to deploy a PHP application on a local server Copy all of the directories and files for an application to the \xampp\htdocs directory on the server. How to deploy the downloadable applications on a local server Copy the book_apps and ex_starts directories and all their contents to the \xampp\htdocs directory on the server. How to deploy an application on an Internet server Use an FTP (File Transfer Protocol) program to upload the tested directories and files to the htdocs directory of the Apache web server.

Slide 36 The components of an HTTP URL http://www.murach.com/books/lists.htm protocol domain name path filename What happens if you omit parts of a URL If you omit the protocol, the default of http:// will be used. If you omit the filename, one of the default filenames for the Apache web server will be used: index.htm, index.html, or index.php. If you omit the filename and there is no default file, Apache will display an index of the files and directories in the path.

Slide 37 URLs for pages on an Internet web server A request for a specific page http://www.murach.com/books/xhcss.htm A request for the default (home) page of a web site http://www.murach.com/ URLs for applications on a local web server A request for the default page in an application directory http://localhost/book_apps/ch01_product_discount/ A request for a directory with no default page http://localhost/book_apps/

Slide 38 An index of the apps in the book_apps directory

Slide 39 The Product Discount application in Firefox

Slide 40 An error displayed in Firefox

Slide 41 How to test a PHP page for the first time 1. Make sure the Apache and MySQL servers are running. 2. Start a web browser and enter the URL for the application as shown in the last figure. 3. Test the page by entering both valid and invalid data, clicking on all links, and so on. How to retest a PHP page after you change the source code Click the Reload or Refresh button in the browser.

Slide 42 The source code for a PHP page

Slide 43 How to view the source code for a page in Firefox Use the View Page Source command. How to view the source code for a page in IE Use the View Source command.

Slide 44 NetBeans with three files in the main project open

Slide 45 How to work with NetBeans projects To open a project, use the Open Project button in the toolbar. To start a new project, use the New Project button in the toolbar. To close a project, right-click on the project in the Projects tab and select the Close command from the resulting menu. To set the main project, right-click on the project in the Projects tab and select the Set As Main Project command from the resulting menu. How to work with NetBeans files To open a file, use the Projects tab to navigate to the file and double-click the file. To start a new file, select the project and click the New File button in the toolbar.

Slide 46 About NetBeans NetBeans is an Integrated Development Environment (IDE) for developing PHP applications. NetBeans can make it easier to create, edit, and test the HTML, CSS, and PHP files that you need for a web application. About NetBeans projects A NetBeans project consists of a top-level directory that contains the subdirectories and files for an application. When you create a NetBeans project, NetBeans adds an nbproject subdirectory that contains the extra files that NetBeans needs for managing the project. Mac OS X note To enable right-clicking with Mac OS X, you can edit the system preferences for the mouse.

Slide 47 Auto-completion and error marking in NetBeans

Slide 48 How to edit a PHP file with NetBeans Use normal editing techniques as you enter PHP code. When you see an auto-completion list, you can highlight an entry and press the Enter key to enter it into your code or you can double-click on it. If you see a red error icon at the start of a line that you have entered, you should fix whatever errors the line contains before you test the application. How to test a PHP application with NetBeans To run the main project, click on the Run Project button in the toolbar or press F6. To run other projects, right-click on the project and select the Run command. To run a file, right-click on the file and select the Run command.

Slide 49 The dialog box for starting a new project

Slide 50 The dialog box for configuring a project

Slide 51 How to check the run configuration for a project Right-click on a project in the Projects tab and select the Properties command. Then, click on Run Configuration in the Categories list and check the Project URL. How to import a project Use the New Project command, but select PHP Application with Existing Sources in the Projects list. This will step you through the import procedure. In the third step, you are asked to check the run configuration. Here, you need to make sure the URL for running the project is correct.